TWiki home TWiki > TWiki > WebHome (book view) TWiki webs:
| caad chair | ws 0506? | Übungen? | user list | Sandbox
TWiki . { Welcome | Register | Changes | Topics | Index | Search | Go }
Search: \.*

Topics in TWiki web: Changed: Changed by:

AdminSkillsAssumptions  

31 Jan 2003 - 06:48 - r1.2   PeterThoeny

Administrator Skills Assumptions

For each of these, the requirement is either pre-existing knowledge/skill, or the willingness to spend significant time (i.e. from hours to days) learning these.

Installing TWiki is not recommended for people who only know HTML and web design, unless they are willing to learn the above, or team up with someone who can handle the installation.

Although the TWikiInstallationGuide is quite complete, there will on occasion be parts that don't work in your local environment (particularly with TWiki:Codev/TWikiOnWebHostingSites, which are sometimes challenging even for those with good OS and web server skills).

There are many excellent resources for learning how to administer your OS and web server, including books, web sites, web forums, IM and email lists. The TWiki:Support web must not be depended on as a resource for this purpose - in other words, it is not there to answer basic questions about operating system and web server administration. Asking and answering questions is time consuming for all concerned and is best used for specific TWiki related issues, rather than helping you learn the OS and web server.

-- RichardDonkin - 27 Apr 2002
-- GrantBow - 15 Jan 2003

 


AdrianLynch  

22 Jan 2003 - 09:25 - NEW   PeterThoeny

Adrian Lynch is a TWikiContributor.

See home page at TWiki:Main.AdrianLynch

 


AlWilliams  

12 Jan 2003 - 00:47 - r1.3   PeterThoeny

Al Williams is a TWikiContributor.

See home page at TWiki:Main/AlWilliams

 


AndreaSterbini  

12 Jan 2003 - 02:24 - r1.3   PeterThoeny

Andrea Sterbini is a TWiki:Codev/CoreTeam member and a TWikiContributor.

See home page at TWiki:Main/AndreaSterbini

 


AppendixFileSystem  

02 Feb 2003 - 01:42 - r1.12   PeterThoeny

Appendix A: TWiki Filesystem

Annotated directory and file listings, for the 01-Feb-2003 TWiki production release.

Who and What is This Good For?

Interested Users and Site Administrators can find out in simple terms what each part of TWiki actually does. Adventurous Adminstrators with server access to files (via telnet, ssh or ftp) can also figure out where to look to make minor modifications, like changing hardcode text or color. Software Developers can get an at-a-glance overview of TWiki code architecture.

Directory Structure

You can rename the root TWiki directory - twiki - to whatever you like by changing it in the TWiki.cfg configuration file. However, to keep the current installation and future upgrades simple, you should leave the five main subdirectories intact:

Directory: Files: Used for:
twiki list Start-up info
twiki/bin list Perl scripts
twiki/lib list Configuration file, main library, Perl system modules, Plugins directory
twiki/pub list Public files (eg: images) and FileAttachments and their RCS histories
twiki/data list Individual topics (page content) and their RCS histories
twiki/templates list HTML templates, used by TWiki scripts

File Descriptions

A rundown of the individual files included in the current distribution, organized by TWiki root directories.

Files in twiki

Application info and the current reference documentation. Full file list:

File: Used for:
index.html Links to launch TWiki after install and for files in this directory
license.txt GNU General Public License and TWiki-specific info
readme.txt General TWiki start-up info with relevant URLs
TWikiDocumentation.html All documentation packaged as a single page
TWikiHistory.html TWiki development timeline: versions, features, developers

Files in twiki/bin

Perl CGI scripts. Full file list:

File: Used for:
.htaccess.txt Authentication. Rename to .htaccess and customize if used
attach Shows the attach file page (FileAttachment)
edit Edit a topic
geturl Fetch URL data
installpasswd Install new password by admin
mailnotify Script called by cron job to notify users of changes
manage Manage script to create new webs
oops Shows an OK or oops dialog
passwd Reset and change password
preview Preview topic after edit
rdiff See differences of topics
register Register new users
rename Rename/move topics and move attachments
save Saves a topic, called by preview
search Displays search results
setlib.cfg Location of the TWiki libraries. Customize if needed
statistics Create statistics topic
testenv Test CGI environment variables
upload Does file upload (FileAttachment)
view View a topic ( the script )
viewfile View a file attachment

Files under twiki/lib

The new lib/TWiki/Plugins directories contain configuration, library and function files, and TWikiPlugins. Full file list:

File: Used for:
TWiki.cfg Main configuration, used by TWiki.pm
TWiki.pm Main TWiki library
TWiki/Access.pm Access control
TWiki/Attach.pm Attachment handling
TWiki/Form.pm Form handling
TWiki/Func.pm Public functions that Plugins may use
TWiki/Meta.pm Meta data in topics
TWiki/Net.pm SMTP mail handling
TWiki/Plugins.pm Plugin handling
TWiki/Prefs.pm Preferences handling
TWiki/Search.pm Search engine, used by wiki.pm
TWiki/Store.pm Back-end storage, *.txt text file and *.txt,v RCS repository file handling
TWiki/Store/RcsFile.pm Generic file handling code, a class
TWiki/Store/RcsWrap.pm Wrappers around RCS executables, a class that inherits from RcsFile
TWiki/Store/RcsLite.pm A Perl RCS implemention, a class that inherits from RcsFile
TWiki/Plugins/DefaultPlugin.pm Handles some legacy rules
TWiki/Plugins/EmptyPlugin.pm Empty plugin, use to create your own
TWiki/Plugins/InterwikiPlugin.pm Use aliases as links for predefined URLs

Files under twiki/pub

The pub directory stores topic-related files, including images used by TWiki and FileAttachments. Attachments are stored in subdirectories created with the related topic name. You can also upload files directly for and link manually (but not through Attach) Partial file list:

File: Used for:
favicon.ico ICO file
wikiHome.gif GIF file
icn/_filetypes.txt Lookup table to translate file extension to file type
icn/bat.gif GIF file for file type
icn/bmp.gif GIF file for file type
... ...
TWiki/FileAttachment/Sample.txt TEXT file: sample
TWiki/FileAttachment/Smile.gif GIF image: sample
TWiki/FileAttachment/Smile.gif,v RCS repository for GIF file
TWiki/PreviewBackground/blankltgraybg.gif GIF image
TWiki/PreviewBackground/blankwhitebg.gif GIF image
TWiki/PreviewBackground/previewbg.gif GIF image: Preview view background
TWiki/PreviewBackground/preview2bg.gif GIF image: Alternate preview view background
TWiki/TWikiLogos/twikiRobot121x54.gif GIF image: TWiki logo
... ...
TWiki/TWikiTemplates/testscreen.gif GIF image: Screen shot
TWiki/WabiSabi/wabisabi.gif GIF image: illustration
Know/IncorrectDllVersionW32PTH10DLL/W32PTH10.DLL DLL file: sample

Files under twiki/data

TWiki topics: data stored as individual text files and rendered by TWiki for display as regular Web pages. Each active web has its own subdirectory. The TWiki distribution includes four start-up webs - Main, TWiki, Know, Sandbox - with documentation and demo content, a Trash web for browser-based, recoverable topic deletion, and a _default directory containing a core topic set required to start a new web. Partial file list:

File: Used for:
.htpasswd Basic Authentication (htaccess) users file with username and encrypted password pairs
debug.txt Program-generated messages useful for debugging
mime.types Recognized file formats
warning.txt Diagnostic messages for identifying problems
_default/.changes Per web record of topic changes
_default/.mailnotify Per web timestamp of most recent email notification
_default/WebChanges.txt Display most recent topic changes in web
_default/WebChanges.txt,v Revisions history (RCS)
_default/WebHome.txt Default web home page
_default/WebHome.txt,v Revisions history (RCS)
_default/WebIndex.txt Lists all topics in a web
_default/WebIndex.txt,v Revisions history (RCS)
_default/WebNotify.txt Subscribe/unsubscribe to web changes email alert
_default/WebNotify.txt,v Revisions history (RCS)
_default/WebPreferences.txt Per web Preference Settings
_default/WebPreferences.txt,v Revisions history (RCS)
_default/WebSearch.txt Per web search options
_default/WebSearch.txt,v Revisions history (RCS)
_default/WebStatistics.txt Generates web usage statistics
_default/WebStatistics.txt,v Revisions history (RCS)
_default/WebTopicList.txt Lists all topics in a web in compact format
_default/WebTopicList.txt,v Revisions history (RCS)
... ...

Files in twiki/templates

Templates and skins used to control appearance of topics rendered as Web pages. Full file list:

File: Used for:
attach.tmpl Attach (FileAttachments) control screen
attachagain.tmpl Attachment control screen
attachnew.tmpl Attachment control screen
changeform.tmpl Control screen to change the form in edit mode
changes.tmpl Displays list of recently changed topics
edit.iejs.tmpl Edit window with IE-specific JavaScript
edit.tmpl Main edit window
mailnotify.tmpl Email notification
moveattachment.tmpl Move attachment control screen
oopsaccesschange.tmpl Error message
oopsaccesscreateweb.tmpl Error message
oopsaccessgroup.tmpl Error message
oopsaccessrename.tmpl Error message
oopsaccessview.tmpl Error message
oopsauth.tmpl Error message
oopsbadpwformat.tmpl Error message
oopschangepasswd.tmpl Error message
oopsempty.tmpl Error message
oopslocked.tmpl Error message
oopslockedrename.tmpl Error message
oopsmanage.tmpl Error message
oopsmissing.tmpl Error message
oopsmore.tmpl More topic actions message
oopsmoveerr.tmpl Error message
oopsnoformdef.tmpl Error message
oopsnotwikiuser.tmpl Error message
oopsnoweb.tmpl Error message
oopspreview.tmpl Error message
oopsregemail.tmpl Error message
oopsregexist.tmpl Error message
oopsregpasswd.tmpl Error message
oopsregrequ.tmpl Error message
oopsregthanks.tmpl Error message
oopsregwiki.tmpl Error message
oopsrenameerr.tmpl Error message
oopsrenamenotwikiword.tmpl Error message
oopsresetpasswd.tmpl Error message
oopsrev.tmpl Error message
oopssave.tmpl Error message
oopssaveerr.tmpl Error message
oopssendmailerr.tmpl Error message
oopstopicexists.tmpl Error message
oopsupload.tmpl Error message
oopswrongpassword.tmpl Error message
preview.tmpl Preview Changes screen
rdiff.tmpl Displays text changes before & after Diffs
registernotify.tmpl Registration notification
rename.tmpl Rename/move control screen (choose web & new topic tile
renamebase.tmpl Used by other rename templates
renameconfirm.tmpl Confirms a pre-specified rename, ex: undoing a rename
renamerefs.tmpl Display if rename done, but some references not changed (topics were locked)
search.tmpl Search screen
searchbookview.tmpl Search results with full topic content
searchformat.tmpl Search screen for formatted search
searchmeta.tmpl Search screen
searchrenameview.tmpl Used by rename to list references to topic being renamed
twiki.tmpl Master template: definitions are used by other templates
view.plain.tmpl Skin for bare bone topic view without header/footer
view.print.tmpl Skin for printable topic view with a simple header/footer
view.rss.tmpl Skin for topic view in RDF XML format
view.tmpl Main topic view - the standard regular Web page

TWiki File System Snapshot

The following partial directory listings from a Linux installation show typical file permissions and ownership. This is provided for general debugging use only and isn't an exact representation of the current distribution.

Directory twiki/bin:

drwxrwxr-x    2 twiki  twiki        4096 Jan  7 23:56 .
drwxrwxr-x    5 twiki  twiki        4096 Nov 18 12:21 ..
-rw-rw-r--    1 twiki  twiki         979 Aug  3 19:36 .htaccess
-rw-rw-r--    1 twiki  twiki        1598 Jun  1  2002 .htaccess.txt
-rwxrwxr-x    1 twiki  twiki        4986 Jan  4 17:27 attach
-rwxrwxr-x    1 twiki  twiki        3734 Jan  4 17:27 changes
-rwxrwxr-x    1 twiki  twiki        9362 Jan  4 18:04 edit
-rwxrwxr-x    1 twiki  twiki        1878 Jan  4 17:28 geturl
-rwxrwxr-x    1 twiki  twiki        4587 Jan  4 17:28 installpasswd
-rwxrwxr-x    1 twiki  twiki        7231 Jan  6 09:04 mailnotify
-rwxrwxr-x    1 twiki  twiki        6000 Dec 11 01:26 makedistrib
-rwxrwxr-x    1 twiki  twiki        8228 Jan  4 18:25 manage
-rwxrwxr-x    1 twiki  twiki        2445 Jan  4 18:08 oops
-rwxrwxr-x    1 twiki  twiki        6936 Jan  4 18:08 passwd
-rwxrwxr-x    1 twiki  twiki        5820 Jan  4 17:30 preview
-rwxrwxr-x    1 twiki  twiki        9235 Jan  4 17:31 rdiff
-rwxrwxr-x    1 twiki  twiki       10584 Jan  4 18:09 register
-rwxrwxr-x    1 twiki  twiki       14746 Jan  5 00:14 rename
-rwxrwxr-x    1 twiki  twiki        4800 Jan  4 18:09 save
-rwxrwxr-x    1 twiki  twiki        4729 Jan  4 17:32 search
-rw-rw-r--    1 twiki  twiki        1446 Jan  8 01:03 setlib.cfg
-rwxrwxr-x    1 twiki  twiki       19261 Jan  4 17:33 statistics
-rwxrwxr-x    1 twiki  twiki       30626 Jan  4 17:33 testenv
-rwxrwxr-x    1 twiki  twiki       14306 Jan  4 18:11 upload
-rwxrwxr-x    1 twiki  twiki       11414 Jan  5 01:12 view
-rwxrwxr-x    1 twiki  twiki        2944 Jan  5 00:36 viewfile

Directory twiki/templates/:

drwxrwxr-x    2 twiki  twiki        4096 Dec 11 00:38 .
drwxrwxr-x    4 twiki  twiki        4096 Jan  8 01:03 ..
-rw-rw-r--    1 twiki  twiki        2590 Jan  7 22:53 attach.tmpl
-rw-rw-r--    1 twiki  twiki        1604 Aug  3  2001 attachagain.tmpl
-rw-rw-r--    1 twiki  twiki         449 Aug  3  2001 attachnew.tmpl
-rw-rw-r--    1 twiki  twiki        1276 Dec  9 21:48 changeform.tmpl
-rw-rw-r--    1 twiki  twiki        1620 Dec  9 21:48 changes.tmpl
-rw-rw-r--    1 twiki  twiki       12777 Jan  7 22:54 edit.iejs.tmpl
-rw-rw-r--    1 twiki  twiki        2801 Jan  7 22:54 edit.tmpl
-rw-rw-r--    1 twiki  twiki         975 Dec  9 21:48 mailnotify.tmpl
-rw-rw-r--    1 twiki  twiki        1606 Jan  7 22:54 moveattachment.tmpl
-rw-rw-r--    1 twiki  twiki         570 Aug  1  2001 oopsaccesschange.tmpl
-rw-rw-r--    1 twiki  twiki         596 Apr 13  2002 oopsaccesscreateweb.tmpl
-rw-rw-r--    1 twiki  twiki         586 Aug  1  2001 oopsaccessgroup.tmpl
-rw-rw-r--    1 twiki  twiki         573 Aug  1  2001 oopsaccessrename.tmpl
-rw-rw-r--    1 twiki  twiki         573 Aug  1  2001 oopsaccessview.tmpl
-rw-rw-r--    1 twiki  twiki         997 Nov 11 22:21 oopsauth.tmpl
-rw-rw-r--    1 twiki  twiki         405 Aug  1  2001 oopsbadpwformat.tmpl
-rw-rw-r--    1 twiki  twiki         344 Jul 31  2001 oopschangepasswd.tmpl
-rw-rw-r--    1 twiki  twiki         624 Jul 31  2001 oopsempty.tmpl
-rw-rw-r--    1 twiki  twiki         891 Dec 30 15:51 oopslocked.tmpl
-rw-rw-r--    1 twiki  twiki         589 Dec 30 15:55 oopslockedrename.tmpl
-rw-rw-r--    1 twiki  twiki         678 Apr 12  2002 oopsmanage.tmpl
-rw-rw-r--    1 twiki  twiki         328 Jul 31  2001 oopsmissing.tmpl
-rw-rw-r--    1 twiki  twiki        2352 Apr 13  2002 oopsmngcreateweb.tmpl
-rw-rw-r--    1 twiki  twiki        2322 Jan  7 22:55 oopsmore.tmpl
-rw-rw-r--    1 twiki  twiki         407 Aug  1  2001 oopsmoveerr.tmpl
-rw-rw-r--    1 twiki  twiki        1132 Nov 30  2001 oopsnoformdef.tmpl
-rw-rw-r--    1 twiki  twiki         520 Jan  4 18:21 oopsnotwikiuser.tmpl
-rw-rw-r--    1 twiki  twiki        1495 Apr  7  2002 oopsnoweb.tmpl
-rw-rw-r--    1 twiki  twiki         393 Aug  1  2001 oopspreview.tmpl
-rw-rw-r--    1 twiki  twiki         340 Dec 10 14:14 oopsregemail.tmpl
-rw-rw-r--    1 twiki  twiki         475 Jun 10  2002 oopsregexist.tmpl
-rw-rw-r--    1 twiki  twiki         345 Aug  1  2001 oopsregpasswd.tmpl
-rw-rw-r--    1 twiki  twiki         356 Aug  1  2001 oopsregrequ.tmpl
-rw-rw-r--    1 twiki  twiki         540 Aug  1  2001 oopsregthanks.tmpl
-rw-rw-r--    1 twiki  twiki         679 Aug  1  2001 oopsregwiki.tmpl
-rw-rw-r--    1 twiki  twiki         502 Mar 24  2002 oopsrenameerr.tmpl
-rw-rw-r--    1 twiki  twiki         433 May 19  2002 oopsrenamenotwikiword.tmpl
-rw-rw-r--    1 twiki  twiki         506 Jun 10  2002 oopsresetpasswd.tmpl
-rw-rw-r--    1 twiki  twiki         957 Jan  7 22:55 oopsrev.tmpl
-rw-rw-r--    1 twiki  twiki         774 Aug  1  2001 oopssave.tmpl
-rw-rw-r--    1 twiki  twiki         477 Aug  1  2001 oopssaveerr.tmpl
-rw-rw-r--    1 twiki  twiki         465 Jun 10  2002 oopssendmailerr.tmpl
-rw-rw-r--    1 twiki  twiki         379 Aug  1  2001 oopstopicexists.tmpl
-rw-rw-r--    1 twiki  twiki         342 Jul 31  2001 oopsupload.tmpl
-rw-rw-r--    1 twiki  twiki         364 Aug  1  2001 oopswrongpassword.tmpl
-rw-rw-r--    1 twiki  twiki        2603 Jan  7 22:55 preview.tmpl
-rw-rw-r--    1 twiki  twiki        1719 Jan  7 22:56 rdiff.tmpl
-rw-rw-r--    1 twiki  twiki        1160 Dec  9 21:48 registernotify.tmpl
-rw-rw-r--    1 twiki  twiki         993 Jun 23  2002 rename.tmpl
-rw-rw-r--    1 twiki  twiki        2369 Jan  7 22:56 renamebase.tmpl
-rw-rw-r--    1 twiki  twiki         471 May 31  2002 renameconfirm.tmpl
-rw-rw-r--    1 twiki  twiki         595 May 31  2002 renamerefs.tmpl
-rw-rw-r--    1 twiki  twiki        1818 Jan  7 22:56 search.tmpl
-rw-rw-r--    1 twiki  twiki        1676 Jan  7 22:57 searchbookview.tmpl
-rw-rw-r--    1 twiki  twiki         980 Jan  7 22:57 searchformat.tmpl
-rw-rw-r--    1 twiki  twiki         149 Sep 13  2001 searchmeta.tmpl
-rw-rw-r--    1 twiki  twiki        2071 Jan  7 22:57 searchrenameview.tmpl
-rw-rw-r--    1 twiki  twiki        2284 Dec  9 21:48 twiki.tmpl
-rw-rw-r--    1 twiki  twiki         419 Dec  9 21:48 view.plain.tmpl
-rw-rw-r--    1 twiki  twiki         827 Dec  9 21:48 view.print.tmpl
-rw-rw-r--    1 twiki  twiki         300 Dec 14 17:16 view.rss.tmpl
-rw-rw-r--    1 twiki  twiki        1629 Jan  7 22:58 view.tmpl

Directory twiki/data/:

drwxrwxr-x    8 nobody nobody       4096 Jan  3 23:50 .
drwxrwxr-x    4 twiki  twiki        4096 Jan  8 01:03 ..
-rw-rw-rw-    1 twiki  twiki         210 Jan 11 15:58 .htpasswd
drwxrwxr-x    2 nobody nobody       4096 Dec 11 02:15 Know
drwxrwxr-x    2 nobody nobody       4096 Jan 11 17:45 Main
drwxrwxr-x    2 nobody nobody       4096 Dec 11 02:15 Sandbox
drwxrwxr-x    2 nobody nobody       8192 Jan 11 22:45 TWiki
drwxrwxr-x    2 nobody nobody       4096 Dec 11 02:15 Trash
drwxrwxr-x    2 nobody nobody       4096 Dec 11 01:01 _default
-rw-rw-rw-    1 twiki twiki            0 Aug  2 14:16 debug.txt
-rw-rw-r--    1 nobody nobody      36630 Jan 11 22:26 log200301.txt
-rw-rw-r--    1 twiki twiki         3419 Aug 13  2001 mime.types
-rw-rw-rw-    1 twiki twiki         1320 Dec 11 00:18 warning.txt

Partial file list for twiki/data/Main:

drwxrwxr-x    2 nobody nobody       4096 Jan 11 17:45 .
drwxrwxr-x    8 nobody nobody       4096 Jan  3 23:50 ..
-rw-rw-rw-    1 twiki  twiki        3662 Jan 11 16:29 .changes
-rw-rw-rw-    1 twiki  twiki           9 Oct 25  2001 .mailnotify
-rw-r--r--    1 nobody nobody        280 Dec 15  2000 TokyoOffice.txt
-rw-r--r--    1 nobody nobody        774 Dec 15  2000 TokyoOffice.txt,v
-rw-r--r--    1 nobody nobody        124 Aug 16  2001 WebChanges.txt
-r--r--r--    1 nobody nobody        526 Aug 16  2001 WebChanges.txt,v
-rw-r--r--    1 nobody nobody       1721 Jun 28  2002 WebHome.txt
-r--r--r--    1 nobody nobody      11314 Jun 28  2002 WebHome.txt,v
-rw-r--r--    1 nobody nobody        176 Nov 24  2001 WebIndex.txt
-r--r--r--    1 nobody nobody        483 Nov 24  2001 WebIndex.txt,v
-rw-r--r--    1 nobody nobody        729 Mar 24  2001 WebNotify.txt
-r--r--r--    1 nobody nobody       2981 Mar 24  2001 WebNotify.txt,v
-rw-r--r--    1 nobody nobody       3670 Apr 12  2002 WebPreferences.txt
-r--r--r--    1 nobody nobody       8203 Apr 12  2002 WebPreferences.txt,v
-rw-r--r--    1 nobody nobody        158 Aug  7  2001 WebSearch.txt
-r--r--r--    1 nobody nobody      18332 Aug  7  2001 WebSearch.txt,v
-rw-r--r--    1 nobody nobody        850 Dec 11 00:58 WebStatistics.txt
-r--r--r--    1 nobody nobody       1690 Dec 11 00:58 WebStatistics.txt,v
-rw-r--r--    1 nobody nobody        182 Nov 24  2001 WebTopicList.txt
-r--r--r--    1 nobody nobody        371 Nov 24  2001 WebTopicList.txt,v

Directory twiki/pub/:

drwxrwxr-x    8 nobody nobody       4096 Nov 18 12:31 .
drwxrwxr-x    3 twiki  twiki        4096 Nov 18 12:31 ..
drwxrwxr-x    3 nobody nobody       4096 Nov 18 12:31 Know
drwxrwxr-x    2 nobody nobody       4096 Apr  7  2002 Main
drwxrwxr-x    2 nobody nobody       4096 Apr 20  2002 Sandbox
drwxrwxr-x    8 nobody nobody       4096 Nov 18 12:31 TWiki
drwxrwxr-x    2 nobody nobody       4096 Dec  3  2001 Trash
-rw-rw-r--    1 twiki  twiki        1078 Jan 14  2000 favicon.ico
drwxrwxr-x    2 twiki  twiki        4096 Nov 18 12:31 icn
-rw-rw-r--    1 twiki  twiki        2877 Jun  7  1999 wikiHome.gif

Partial file list for twiki/pub/icn/:

drwxrwxr-x    2 twiki  twiki        4096 Nov 18 12:31 .
drwxrwxr-x    8 nobody nobody       4096 Nov 18 12:31 ..
-rw-rw-r--    1 twiki  twiki         801 Mar 26  1999 _filetypes.txt
-rw-rw-r--    1 twiki  twiki         143 Mar  9  1999 bat.gif
-rw-rw-r--    1 twiki  twiki         926 Mar  9  1999 bmp.gif
-rw-rw-r--    1 twiki  twiki         141 Mar 25  1999 c.gif
-rw-rw-r--    1 twiki  twiki         144 Mar  9  1999 dll.gif
-rw-rw-r--    1 twiki  twiki         152 Mar  9  1999 doc.gif

Directory twiki/pub/TWiki:

drwxrwx--x    8 nobody nobody       4096 Nov 18 12:31 .
drwxrwxr-x    8 nobody nobody       4096 Nov 18 12:31 ..
drwxrwxr-x    2 nobody nobody       4096 Nov 18 12:31 FileAttachment
drwxrwxr-x    2 nobody nobody       4096 Nov 18 12:31 PreviewBackground
drwxrwxr-x    2 nobody nobody       4096 Nov 18 12:31 TWikiDocGraphics
drwxrwxr-x    2 nobody nobody       4096 Nov 18 12:31 TWikiLogos
drwxrwxr-x    2 nobody nobody       4096 Nov 18 12:31 TWikiTemplates
drwxrwxr-x    2 nobody nobody       4096 Nov 18 12:31 WabiSabi

Directory twiki/pub/TWiki/FileAttachment:

drwxrwxr-x    2 nobody nobody       4096 Nov 18 12:31 .
drwxrwx--x    8 nobody nobody       4096 Nov 18 12:31 ..
-rw-rw-r--    1 nobody nobody         30 Jul 22  1999 Sample.txt
-rw-rw-r--    1 nobody nobody         94 Jun  7  1999 Smile.gif
-r--r--r--    1 nobody nobody         81 Aug 15 10:14 Smile.gif,v

-- PeterThoeny - 11 Jan 2003
-- MikeMannix? - 16 May 2002

 


BookView  

23 Oct 2002 - 05:29 - r1.2   PeterThoeny

BookView is an option available from the WebSearch topic. It allows you to display the result in "book view", that is, the whole content of topics is shown instead of a topic summary. This allows you to easily see a whole set of pages, which is useful for printing.

 


BumpyWord  

01 Jul 2000 - 06:18 - NEW   KevinKinnell

See WikiWord

 


CaadLogos  

02 Sep 2004 - 09:13 - r1.2   OliverFritz

-- KarstenDroste - 01 Sep 2004

 


ChangePassword  

17 Jan 2003 - 06:21 - r1.6   PeterThoeny

Change password

Forgot your old password? Then use ResetPassword instead. Please only use ResetPassword in case you really forgot your password. Thank you.

Your WikiName: **
Old password: **
New password: **
Retype new password: **
     (Fields marked ** are required)

After submitting this form your password will be changed.

If you have questions please contact the TWiki webmaster caad-yearly@hbt.arch.ethz.ch.

 


ChristopheVermeulen  

12 Jan 2003 - 02:23 - r1.5   PeterThoeny

Christophe Vermeulen is a TWikiContributor.

See home page at TWiki:Main/ChristopheVermeulen

 


ColasNahaboo  

12 Jan 2003 - 00:48 - r1.2   PeterThoeny

Colas Nahaboo is a TWikiContributor.

See home page at TWiki:Main/ColasNahaboo

 


CrisBailiff  

12 Jan 2003 - 00:47 - r1.4   PeterThoeny

Cris Bailiff is a TWikiContributor.

See home page at TWiki:Main/CrisBailiff

 


DavidWarman  

12 Jan 2003 - 00:47 - r1.5   PeterThoeny

David Warman is a TWikiContributor.

See home page at TWiki:Main/DavidWarman

 


DefaultPlugin  

05 Jan 2002 - 08:30 - r1.5   PeterThoeny

Default TWiki Plugin

The default plugin is used for some deprecated rendering of older TWiki versions and of JosWiki. This plugin can also be used to specify some simple custom rendering rules. Note: Create a new TWikiPlugin based on EmptyPlugin if you plan to offer some complex rendering or other functionality.

Syntax Rules

Custom rendering rules of the default plugin:

Modify file TWiki/Plugins/DefaultPlugin.pm to add your own rules or to enable JosWiki rules.

DefaultPlugin Settings

Plugin settings are stored as preferences variables. To reference a plugin setting write %<plugin>_<setting>%, for example, %DEFAULTPLUGIN_SHORTDESCRIPTION%

Plugin Installation Instructions

Plugin Info

Plugin Author: AndreaSterbini, PeterThoeny
Plugin Version: 14 Jul 2001
Change History: 14 Jul 2001: Changed to plug&play
27 Feb 2001: Initial version
CPAN Dependencies: none
Other Dependencies: none
Perl Version: 5.0
Plugin Home: http://TWiki.org/cgi-bin/view/Plugins/DefaultPlugin
Feedback: http://TWiki.org/cgi-bin/view/Plugins/DefaultPluginDev

Related Topics: TWikiPreferences, TWikiPlugins, EmptyPlugin

-- AndreaSterbini - 27 Feb 2001
-- PeterThoeny - 14 Jul 2001

 


DeleteOrRenameATopic  

10 Nov 2001 - 05:59 - r1.4   PeterThoeny

FAQ:

How do I delete or rename a topic?

Answer:

New to the 01-Sep-2001 version of TWiki, you can rename, move and delete topics directly from your browser (previously, these operations could only be done manually, by someone with file-level access to the Web server).

Moving lets you transfer a topic from one web to another. The soft delete moves a topic to the special Trash web, where it's hidden but can be "undeleted" with system administrator access.

Click [More] on the control bar at the bottom of the page you want to change, then choose [Rename/move], and make your changes that screen. There's a link that launches to the ManagingTopics reference page in a pop-up window.

NOTE: The configuration of your site and your own access permissions determine whether you can access these functions.

Back to: TWikiFAQ

-- MikeMannix - 14 Sep 2001

 


DontNotify  

13 Jul 2001 - 23:56 - r1.2   PeterThoeny

Use the "Minor changes, don't notify" checkbox in preview in case you only make a minor change to a topic and you do not want to inform everybody who is on the WebNotify list of the current web of this change.

Note: No new revision is created in case you save the same topic again within a certain time frame (default is one hour). You only need to checkmark the "Minor change, don't notify" checkbox once within this time frame, because subsequent save operations do not notify users.

Note: The initial state of the checkbox can be set to on with the DONTNOTIFYCHECKBOX preferences variable. See TWikiPreferences for more.

 


EditDoesNotIncreaseTheRevision  

01 Sep 2001 - 00:19 - r1.2   PeterThoeny

FAQ:

Why does the topic revision not increase when I edit a topic?

Answer:

The same topic revision will be used when you save a topic again within a certain time frame (one hour by default). This is to prevent unnecessary topic revisions when you do several edit cycles in a row. Note that a new revision is created if another person edits the same topic, regardless of the time.

Back to: TWikiFAQ

-- PeterThoeny - 27 Nov 2000

 


EditTablePlugin  

17 Sep 2004 - 01:40 - r1.24   PeterThoeny

Edit Table Plugin

This plugin allows you to edit TWiki tables using edit fields and drop down boxes. Tables have an [ Edit table ] button if preceeded by an %EDITTABLE{...}% variable. Each column can be a text field, a drop down box, a date field, etc. Multiple tables per topic are editable, but only one at a time can be edited.

Per Table Settings

Add a %EDITTABLE{...}% variable just before an existing table to make it editable, or add the variable anywhere in a topic to start a new table. Parameters:

Parameter Comment Default
header Specify the header format of a new table like "|*Food*|*Drink*|". Useful to start a table with only a button (no header)
format The format of one column when editing the table. A cell can be a text input field, or any of these edit field types:
• Text input field (1 line):
  | text, <size>, <initial value> |
• Textarea input field:
  | textarea, <rows>x<columns>, <initial value> |
• Drop down box:
  | select, <size>, <option 1>, <option 2>, etc |
• Radio buttons:
  | radio, <size*>, <option 1>, <option 2>, etc |
  * size indicates the number of buttons per line in edit mode
• Checkboxes:
  | checkbox, <size*>, <option 1>, <option 2>, etc |
  * size indicates the number of checkboxes per line in edit mode
• Fixed label:
  | label, 0, <label text> |
• Row number:
  | row, <offset> |
• Date:
  | date, <size>, <initial value>, <DHTML date format> |
"text, 16"
for all cells
changerows Rows can be added and removed if "on";
Rows can be added but not removed if "add"
CHANGEROWS
Plugin setting
quietsave Quiet Save button is shown if "on", hidden if "off" QUIETSAVE
Plugin setting
include Other topic defining the EDITTABLE parameters. The first %EDITTABLE% in the topic is used. This is useful if you have many topics with the same table format and you want to update the format in one place. (none)
helptopic Topic name containing help text shown below the table when editing a table. The %STARTINCLUDE% and %STOPINCLUDE% variables can be used in the topic to specify what is shown. (no help text)
headerislabel Table header cells are read-only (labels) if "on"; header cells can be edited if "off" or "0" "on"
editbutton Set edit button text, e.g. "Edit this table"; set button image with alt text, e.g. "Edit table, %PUBURL%/%TWIKIWEB%/TWikiDocGraphics/edittopic.gif"; hide edit button at the end of the table with "hide" (Note: Button is automatically hidden if an edit button is present in a cell) EDITBUTTON
Plugin setting

Initial Values

By default, variables in <initial value> (of text input field) and <label text> (of fixed label) get expanded when a new row is added. This can be used for example to add a timestamp to a label. You can escape characters if you do not want that:

Text: To Escape:
$quot Double quote ("). Alternatively write \" to escape it
$percnt Percent sign (%)
$dollar Dollar sign ($)
$nop or $nop() Is a "no operation"

Date Field Type

Edit Table Calendar Example The date field type allows one to choose a date with a popup calendar. Popup calendar works for Netscape 6.0 or better, all other Gecko-based browsers, Internet Explorer 5.0 or better for Windows, Opera 7 and Konqueror 3.1.2. The ... button is inactive if the browser cannot support the popup calendar. It uses the nice Mishoo DHTML calendar, see also TWiki:Codev/JavaScriptDatePickerForForm

Per Cell Settings

An individual edit field type can be defined for each table cell. Place an %EDITCELL{ "type, ..." }% variable at the end of the cell content. This is useful to override the per column %EDITTABLE{ format="..." }% settings, or to create tables with key/value rows. All edit field types of the format="..." parameter are supported. For example, to define a text field, type: | cell content %EDITCELL{ "text, 20" }% |

It is also possible to place the edit button inside a cell instead of default location below the table. Type | %EDITCELL{ "editbutton, 1, Edit this table" }% | to show a button, or | %EDITCELL{ "editbutton, 1, Edit table, Image-URL" }% | to show a button image with alternate text.

Note: The %EDITCELL{ }%=variable cannot be used by itself; place an =%EDITTABLE{ }%=variable at the beginning of a table where you want to use =%EDITCELL{ }% variables.

Table Buttons

Examples

Line before table: %EDITTABLE{ format="| row, -1 | text, 20, init | select, 1, one, two, three, four | radio, 3,:-),:-I,:-( | label, 0, %SERVERTIME{"$day $mon $year $hour:$min"}% |" changerows="on" }%

Nr Text field Drop down Mood Timestamp
1 hello table one :-) 26 Jun 2002 12:30
2   two :-( 27 Jun 2002 12:40

Note: Please do not save this example table! Use TWiki:Sandbox.EditTablePluginTesting if you want to try out this Plugin

If this plugin is installed you will see an [ Edit table ] button above; if you were to click on it (please don't, use TWiki:Sandbox.EditTablePluginTesting for testing) you get this form:

Nr Text field Drop down Mood Timestamp
1 smile indifferent frown 26 Jun 2002 12:30
2 smile indifferent frown 27 Jun 2002 12:40
(demo only, these buttons do not work)

The following example shows a simple table with key/value rows. The default edit field type for the value column is a text field. This is overloaded by a selector for the Gender, and a date picker for the DOB. This is typically used by TWiki applications where new topics with tables are created based on a template topic.

You type:
%EDITTABLE{ format="| label | text, 40 |" }%
|*Key*|*Value*|
| Name: | John Smith |
| Gender: | M %EDITCELL{select, 1, , F, M}% |
| DOB: | 1999/12/31 %EDITCELL{date, 10}% |
| City: | New York |
Screenshot: EDITCELL Example in view mode Screenshot in edit mode: EDITCELL Example in edit mode

Plugin Settings

Plugin settings are stored as preferences variables. To reference a plugin setting write %<plugin>_<setting>%, for example, %EDITTABLEPLUGIN_SHORTDESCRIPTION%

Note: The Plugin looks for the JSCALENDAR* settings first in the TWiki Preferences, then in above Plugin settings

Limitations and Known Issues

Plugin Installation Instructions

Note: You do not need to install anything on the browser to use this Plugin. The following instructions are for the administrator who installs the plugin on the server where TWiki is running.

License

Plugin Info

Plugin Author: TWiki:Main/PeterThoeny
Plugin Version: 16 Sep 2004
Change History:  
16 Sep 2004: Added radio buttons and checkbox controls; escaped "|" pipe symbol found in input fields to preserve tables
01 Aug 2004: Fixed bug where edittable did not work if at the end of a topic
07 Apr 2004: Fixed bug where two tables got updated when you edit and save a table included into a topic containing other edit tables
02 Mar 2004: Default for %EDITCELL{editbutton}% is EDITBUTTON preference
27 Feb 2004: Added QUIETSAVE setting and quietsave parameter; image for Edit button
18 Feb 2004: Doc fixes; allow edit button anywhere in a cell not just at the end of a cell
17 Feb 2004: Added per cell definition of edit field types with %EDITCELL{}% variable; added headerislabel and editbutton parameters
20 Dec 2003: Fixed bug where calendar did not work after adding a row (TWiki:Main/PaulineCheung); added all language files of Mishoo DHTML calendar 0.9.5
13 Dec 2003: Added CHANGEROWS, JSCALENDARDATEFORMAT, JSCALENDARLANGUAGE, JSCALENDAROPTIONS settings
16 Oct 2003: small typo fixed (garbled if ---+ header on top)
15 Oct 2003: new date field type with javascript calendar - CN
14 Oct 2003: docfix: the documentation page was an old one - CN
13 Oct 2003: bugfix: %-vars in select were resetted to first on add/del row - CN
18 Sep 2003: incompatibility: changed default of changerows to on; support for %-vars, Quiet save for saving without notification; all other fixes in Dev topic integrated - CN
08 Nov 2002: Prevent variable expansion in label text; added escape characters
27 Jun 2002: New helptopic parameter
26 Jun 2002: Support for variables in included EDITTABLE parameters; fixed problem with HTML in cells
21 May 2002: Added fixed label format; new changerows="add" parameter
27 Apr 2002: Fixed bug where text after a double quote in a cell disappeared
18 Apr 2002: Fixed bug where table was breaking when pasting multiple lines into an edit field using Netscape on Unix
08 Apr 2002: Check for change permission and edit lock of topic
05 Apr 2002: Initial version
CPAN Dependencies: none
Other Dependencies: Mishoo DHTML calendar (version 0.9.5 preinstalled); TWiki version 01 Feb 2003 or later
Perl Version: 5.0
TWiki:Plugins/Benchmark: GoodStyle 98%, FormattedSearch 98%, EditTablePlugin 95%
Plugin Home: http://TWiki.org/cgi-bin/view/Plugins/EditTablePlugin
Feedback: http://TWiki.org/cgi-bin/view/Plugins/EditTablePluginDev

Related Topics: TWikiPreferences, TWikiPlugins

-- TWiki:Main/PeterThoeny - 16 Sep 2004

 


EmptyPlugin  

13 Jun 2002 - 05:54 - r1.5   PeterThoeny

Empty TWiki Plugin

This is an empty plugin you can use as a template to build your own TWikiPlugins. This plugin does nothing, but is ready to be used.

To create your own plugin:

Syntax Rules

(describe the syntax)

EmptyPlugin Global Settings

Plugin settings are stored as preferences variables. To reference a plugin setting write %<plugin>_<setting>%, for example, %EMPTYPLUGIN_SHORTDESCRIPTION%

Plugin Installation Instructions

(This plugin is preinstalled, you do not need to install it.)

Note: You do not need to install anything on the browser to use this plugin. The following instructions are for the administrator who installs the plugin on the server where TWiki is running.

Plugin Info

Plugin Author: AndreaSterbini, PeterThoeny
Plugin Version: 14 Jul 2001 (V1.000)
Change History:  
14 Jul 2001: Changed to plug&play
27 Feb 2001: Initial version
CPAN Dependencies: none
Other Dependencies: none
Perl Version: 5.005
Plugin Home: http://TWiki.org/cgi-bin/view/Plugins/EmptyPlugin
Feedback: http://TWiki.org/cgi-bin/view/Plugins/EmptyPluginDev

Related Topics: TWikiPreferences, TWikiPlugins, DefaultPlugin

-- AndreaSterbini - 27 Feb 2001
-- PeterThoeny - 14 Jul 2001

 


ExampleTopicTemplate  

12 Sep 2001 - 06:34 - r1.2   MikeMannix?

(just an example illustrating how to create a new topic based on a specific template topic. TWikiTemplatesVer1? has more)

-- Main.guest - 08 May 2009

 


FileAttachment  

04 May 2002 - 15:32 - r1.10   MikeMannix?

File Attachments

Each topic can have one or more files of any type attached to it by using the Attach screen to upload (or download) files from your local PC. Attachments are stored under revision control: uploads are automatically backed up; all previous versions of a modified file can be retrieved.

What Are Attachments Good For?

File Attachments can be used to create powerful customized groupware solutions, like file sharing and document management systems, and quick Web page authoring.

Document Management System

File Sharing

Web Authoring

Uploading Files

Downloading Files

Moving Attachment Files

An attachment can be moved between topics.

Deleting Attachments

It is not possible to delete attached files directly. You can delete a topic, and its attachments with it.

Linking to Attached Files

File Attachment Contents Table

Files attached to a topic are displayed in a directory table, displayed at the bottom of the page, or optionally, hidden and accessed when you click Attach.

Attachment: Action: Size: Date: Who: Comment:
Sample.txt action 30 22 Jul 2000 - 19:37 PeterThoeny Just a sample
Smile.gif action 94 22 Jul 2000 - 19:38 PeterThoeny Smiley face

File Attachment Controls

Clicking on an Action link takes you to a new page that looks like this:

Attachment: Action: Size: Date: Who: Comment: Attribute:
Sample.txt action 30 22 Jul 2000 - 19:37 PeterThoeny Just a sample  
Smile.gif action 94 22 Jul 2000 - 19:38 PeterThoeny Smiley face  

Update attachment Sample.txt

Version: Action: Date: Who: Comment:
1.1 view 2001.08.30.09.28.56 PeterThoeny  

Previous
upload:
C:\DATA\Sample.txt (PeterThoeny)
Local file:
Comment:
Link: Create a link to the attached file at the end of the topic.
Hide file: Hide attachment in normal topic view.
Help text ...

Topic FileAttachment . { | | Move attachment | Cancel }

Known Issues

 


FileAttribute  

08 Oct 2004 - 12:52 - r1.3   SusanneSchumacher

Each FileAttachment in a Topic has an attribute string. At present only only the hidden attribute is supported. If the attribute includes h then the attachment is considered to be hidden. It is not listed in the topic, but is displayed when attach page is displayed.

-- JohnTalintyre - 30 Aug 2001

 


FormattedSearch  

13 Aug 2002 - 16:46 - r1.9   PeterThoeny

TWiki Formatted Search Results

Inline search feature allows flexible formatting of search result

The %SEARCH{...}% variable documented in TWikiVariables has a fixed format for the search result, that is, a table consisting of topic names and topic summaries. Use the format="..." parameter to specify a customized format of the search result. The string of the format parameter is typically a bullet list or table row containing variables (such as %SEARCH{ "food" format="| $topic | $summary |" }%).

Syntax

Two parameters can be used to specify a customized search result:

1. header="..." parameter

Use the header parameter to specify the header of a search result. It should correspond to the format of the format parameter. This parameter is optional.
Example: header="| *Topic:* | *Summary:* |"

2. format="..." parameter

Use the format parameter to specify the format of one search hit.
Example: format="| $topic | $summary |"

Variables that can be used in the format string:

Name: Expands To:
$web Name of the web
$topic Topic name
$topic(20) Topic name, "- " hyphenated each 20 characters
$topic(30, -<br />) Topic name, hyphenated each 30 characters with separator "-<br />"
$topic(40, ...) Topic name, shortended to 40 characters with "..." indication
$text Formatted topic text
$locked LOCKED flag (if any)
$date Time stamp of last topic update, like 08 May 2009 - 00:57
$isodate Time stamp of last topic update, like 2009-05-08T00:57Z
$rev Number of last topic revision, like 1.4
$wikiusername Wiki user name of last topic update, like Main.JohnSmith
$username User name of last topic update, like JohnSmith
$summary Topic summary
$formfield(name) The field value of a form field; for example, $formfield(TopicClassification) would get expanded to PublicFAQ. This applies only to topics that have a TWikiForm
$formfield(name, 10) Form field value, "- " hyphenated each 10 characters
$formfield(name, 20, -<br />) Form field value, hyphenated each 20 characters with separator "-<br />"
$formfield(name, 30, ...) Form field value, shortended to 30 characters with "..." indication
$pattern(reg-exp) A regular expression pattern to extract some text from a topic. For example, $pattern(.*?\*.*?Email\:\s*([^\n\r]+).*) extracts the email address from a bullet of format * Email: ....
$n or $n() New line
$nop or $nop() Is a "no operation". This variable gets removed; useful for nested search
$quot Double quote ("). Alternatively write \" to escape it
$percnt Percent sign (%)
$dollar Dollar sign ($)

Note: For $pattern(reg-exp), specify a RegularExpression that scans from start to end and contains the text you want to keep in parenthesis, like $pattern(.*?(from here.*?to here).*). You need to make sure that the integrity of a web page is not compromised; for example, if you include a table make sure to include everything including the table end tag.

Examples

Bullet list showing topic name and summary

Write this:

%SEARCH{ "FAQ" scope="topic" nosearch="on" nototal="on" header="   * *Topic: Summary:*" format="   * [[$topic]]: $summary" }%

To get this:

Table showing form field values of topics with a form

Write this in the Know web:

| *Topic:* | *OperatingSystem:* | *OsVersion:* |
%SEARCH{ "[T]opicClassification.*?value=\"[P]ublicFAQ\"" scope="text" regex="on" nosearch="on" nototal="on" format="| [[$topic]] | $formfield(OperatingSystem) | $formfield(OsVersion) |" }%

To get this:

Topic: OperatingSystem: OsVersion:
IncorrectDllVersionW32PTH10DLL OsWin 95/98
WinDoze95Crash OsWin 95

Extract some text from a topic using regular expression

Write this:

%SEARCH{ "__Back to\:__ TWikiFAQ" scope="text" regex="on" nosearch="on" nototal="on" header="TWiki FAQs:" format="   * $pattern(.*?FAQ\:[\n\r]*([^\n\r]+).*) [[$topic][Answer...]]" }%

To get this:

TWiki FAQs:

Nested Search

Search can be nested. For example, search for some topics, then form a new search for each topic found in the first search. The idea is to build the nested search string using a formatted search in the first search.

Here is an example. Let's search for all topics that contain the word "culture" (first search), and let's find out where each topic found is linked from (second search).

Write this:

%SEARCH{ "culture" format="   * $topic is referenced by:$n      * $percntSEARCH{ \"$topic\" format=\"   $dollartopic\" nosearch=\"on\" nototal=\"on\" }$nop%" nosearch="on" nototal="on" }%

To get this:

-- PeterThoeny - 16 May 2002

 


GnuGeneralPublicLicense  

01 Sep 2001 - 00:20 - r1.2   PeterThoeny

FAQ:

TWiki has a GPL (GNU General Public License). What is GPL?

Answer:

TWiki is distributed under the GNU General Public License, see TWikiDownload. GPL is one of the free software licenses that protects the copyright holder, and at the same time allows users to redistribute the software under the terms of the license. Extract:

Please note that TWiki is not distributed under the LGPL (Lesser General Public Licence), which implies TWiki can only be used with software that is licensed under conditions compliant with the GPL. Embedding in proprietary software requires an alternative license. Contact the author for details.

Back to: TWikiFAQ

-- PeterThoeny - 27 Nov 2000

 


GoBox  

29 Jan 2003 - 08:16 - NEW   PeterThoeny

The box at the top of each page.

Enter a topic name to quickly jump to the topic, for example:

Note: The Go box is not a search box

-- PeterThoeny - 29 Jan 2003

 


GoodStyle  

02 Dec 2001 - 07:59 - r1.6   MikeMannix?

GoodStyle Collaboration Tips

-- MikeMannix? - 01 Dec 2001

 


GrantBow  

27 Jan 2003 - 07:42 - r1.2   PeterThoeny

Grant Bowman is a TWikiContributor.

See home page at TWiki:Main.GrantBow

 


HaroldGottschalk  

12 Jan 2003 - 00:48 - r1.3   PeterThoeny

Harold Gottschalk is a TWikiContributor.

See home page at TWiki:Main/HaroldGottschalk

 


HiddenAttachment  

13 Nov 2001 - 22:02 - NEW   PeterThoeny

Hide/Unhide Attachments

You can hide/unhide file attachments.

-- PeterThoeny - 13 Nov 2001

 


IncludeTopicsAndWebPages  

01 Feb 2003 - 12:26 - r1.6   PeterThoeny

Include Topics and Web Pages Using %INCLUDE{...}% Variable

Use the %INCLUDE{...}% variable to embed the content of another topic or web page inside a TWiki topic. The whole content or only parts of a page can be included. If needed, set a proxy server in TWikiPreferences.

Syntax

%INCLUDE{ "page" pattern="reg-exp" rev="1.2" }%

Note: All text of a topic is included unless you specify %STARTINCLUDE%, %STOPINCLUDE% and/or a pattern parameter.

Usage Examples

1. Display regression test results in a TWiki page

  <pre>
  %INCLUDE{"http://domain/~qa/v1.1/REDTest.log.txt"}%
  </pre>

2. Display Yahoo's robot.txt file

3. Display the SUNW stock quote in a TWiki page

4. Display the temperature in San Francisco

See also other TWikiVariables.

-- PeterThoeny - 15 Jan 2003

 


InstallPassword  

12 Jan 2003 - 07:19 - r1.3   PeterThoeny

Install an Encrypted Password

This form can be used only by the TWikiAdminGroup users to install an encrypted password generated by a user with ResetPassword.

WikiName and encrypted
password of the user:
 

After submitting this form the user's password will be changed.

 


InstalledPlugins  

12 May 2002 - 06:46 - NEW   MikeMannix?

Installed Plugins

Plugins are mainly user-contributed add-ons that enhance and extend TWiki features and capabilities. A limited number of plugins are included in the core TWiki distribution - and most those can be removed - while the rest are optional, available from TWiki:Plugins/WebHome.

Here is a list of the plugins currently installed on this TWiki site:

-- MikeMannix? - 12 May 2002

 


InstantEnhancements  

31 Jan 2003 - 09:03 - NEW   PeterThoeny

Instant TWiki Site Enhancements

These quick enhancements are aimed at improving TWiki's ease-of-use. New TWiki site administrators are especially encouraged to review this document for ideas before deploying a new TWikiSite. The metaphor of building a house is useful. The listed enhancedments are some of the details possible when moving into a new office or home. These small changes can make a big differences for user satisfaction at your site. All modifications can be done through your Web browser, and they don't take more then in a couple of minutes. No system administration expertise is required. Some of these enhancements are also mentioned in the reference manual and other topics.

Many of these tips are based on setting some special TWikiVariables.

PICK We recommend implementing at least some of these enhancements right after installation, to get a taste for what is possible. Some of these tips and enhancements should be implemented before or during initial roll-out.

This may spark your imagination to really customize your site so that it's optimal for your users. Slightly more advanced customization tips are listed in TWikiAdminCookBook.


Tips using TWikiVariables

You need to know what is the variable name, and in what page is/should be defined.

Change Colors of Page Header/Footer

Incredibly obvious, maybe, but some TWiki site admins don't get around to changing the default web colors right off, whether they like them or not. Simply changing the defaults will make a huge difference in the overall look.

What we are doing

We want to set variable WEBBGCOLOR in topic WebPreferences to one of the StandardColors. WebPreferences is, as you can guess, a topic which holds all kind of preference setting for each TWiki Web{*}. Each web has its own WebPreferences, and you can set them differently for each web.

How to do it

  1. Pick color code from company or product references, the StandardColors table (recommended for 8-bit client compatibility), or some other color reference.
  2. Go to WebPreferences in each web, and edit the topic.
  3. Set your preferred WEBBGCOLOR preferences variable, and save the topic.
  4. ALERT! Add a new line immediately after the color code. If there is (invisible) space after the color code, the page header might get strange colors (e.g. black).

It's just as easy to refine later on, so you're not locked in, just looking better.

Set Page Background Color

Without getting into the TWikiTemplates system yet, you can easily edit the view.tmpl (in the templates directory). In the HTML at the top, the body tag has the page background hardcoded to white bgcolor="#ffffff". You can change that color value to new variable. First, define a new preferences variable in the site-level TWikiPreferences, e.g. * Set =PAGEBGCOLOR = #d0d0d0, then edit the view.tmpl template file and change bgcolor="#ffffff" to bgcolor="%PAGEBGCOLOR%". If you want you can set the page background color individualy per web, simple add a * Set =PAGEBGCOLOR = #d0d0d0 bullet to the WebPreferences to overload the site-level preferences. (Without font color control, you'll have to stick to light colors.

Titles-Only Topic List - WebTopicList

A good first navigation tool for new users, a fast-loading linked list (page titles only) of a web's topics is a quick and easy way see what's available. By default, slower, but more powerfull WebIndex is used.

Without explaining what WEBTOPICLIST is, just try it:

  1. Go to WebPreferences in each web, and edit the topic.
  2. In WEBTOPICLIST variable, replace WebIndex with WebTopicList, and save.

Simple way to create colored text and graphics

This should be enabled, see the "Miscellaneous Settings" in the TWikiPreferences, . If not, look at TWiki:TWiki/TWikiPreferences. Look for variables RED, BLUE etc (which define HTML tag FONT). To copy/paste the variables defining the colors you need to see the source text, but Edit is disabled. Instead, go to More and view the topic in raw format.

EZ Graphic Icons to Highlight Text

Graphics in text (like this: ALERT!) is done also by defining special variables. See TWiki.TWikiPreferences. Some may prefer longer names, like HELP, WARN etc. You can also add your own images, e.g. a NEW, or a ASK to ask question.

TIP Using graphic icons to highlight important text right from the start can seriously improve how well new users take to a TWiki site. A minimum set of two or three icons can make content much easier to follow, eye-catching, EXCITING. Research says, people tent not to read pages through, but scan them first - and graphics (used sparringly ;-) of course) can help them. On HELP pages, most people tend to jump around looking for answers rather than reading through - icons help point out the most important bits.

How to create your own set of icons:

  1. Go to the Preferences topic: TWikiPreferences for site-wide use, or WebPreferences for use in one web only.
  2. Attach a graphic (the ones on this page are 16x16 pixels), then define a Preference Variable with a short but recognizable name.

Use TOC variable to create table of contens

TOC is Table-Of-Contens, generated automagically from headers (defined like that: ---++ , see TWikiShorthand).

For example, you may want to put all your custom variables in TWikiPreferences right on top of the page, and generate table of contens, like:

Non-admin users wil be interested only in first part, non-system preferences.


Personal Productivity - Tools and Tips for Working Faster

Although this area applies to all TWiki set-ups, the initial focus is on TWiki site managers working on a Linux/Apache TWiki site, from a Windows local PC. The assumption being: if you're working with Linux as your desktop, you're probably a programmer or system admin and have these basics handled!

Use your favorite text editor for major edits

When you have a fair bit of TWiki formatting work - for example, compiling new info pages from various cut'n'paste sources, editing multiple TWiki topics or contributed material - it's often easier to use a real TextEditor instead of the browser's text edit box. There are several methods for doing this. For Windows, there are several well-recommended text editors.

Windows Example: TextPad is a low-cost, top flight Windows program, with an extended trial period. You can download from a well-stocked library of user-contributed macros, dictionaries, and syntax and clip files. You can also easily create a TWiki clip collection that allows you to format text with TWiki code: select a text string and click for bold, italic, links, bullet lists - just like a regular HTML editor - and also insert blocks of TWiki code, use simple or regex search and replace, more.

Copy & Paste: Using the web window this can work very well. System differences may present difficulties with this method but it is simple and reliable in most cases.

Browser Integration: Some web browsers can be configured to automatically use an external editor. See your browser documentation for details. Such a configuration and a small tool for Linux is described in an example on TWiki.org. TWiki:Codev/EditDaemonWithGVimIntegration

Alternate Browser: While your main browser might not have the features for TWikic topic editing, another one might.

Use SEARCH to Create a personal directory of topics you're involved in

Here's how you can create your own personal directory of topics you've contributed to recently. Copy the text below (between Start Copy and End Copy) and paste it into your personal page (Main.guest). You can add other webs to search by duplicating one of the web subsections and editing the string {web ="webname"} in the search parameters to refer to the specific web you want to search. This script would also work for a group.

Start Copy

__Here's a list of topics I've been involved in recently:__

---++++ Codev

%SEARCH{ "InstantEnhancements" web="Codev" scope="text" nosearch="on" nosummary="on" noheader="on" nototal="on" regex="off" order="modified" reverse="on" limit="20"}%

---++++ Support

%SEARCH{ "InstantEnhancements" web="Support" scope="text" nosearch="on" nosummary="on" noheader="on" nototal="on" regex="off" order="modified" reverse="on" limit="20"}%

---++++ TWiki

%SEARCH{ "InstantEnhancements" web="TWiki" scope="text" nosearch="on" nosummary="on" noheader="on" nototal="on" regex="off" order="modified" reverse="on" limit="10"}%

End Copy

The SEARCH variable has many more formatting options, see TWikiVariables.


Hidden Edit Lock for Individual Topics

When you're creating main gateway pages, you may want to temporarily (or permanently) restrict editing to yourself or a limited group of people. You can do this with a Preference setting that includes one or more users and groups. Only auhorized users will be able to use Edit.


Change the Default Site Logo using TWiki:Codev/HighResolutionLogos.

Approved and already deployed on several TWiki sites, this logo set provides a professional alternative to the Robot.

The size of Robot icon is 46x50 pixels - there are countless 48x48 standard-sized, free-use grapics if you're stuck. Here are some decent places to look. Attach the new graphic to TWikiPreferences, and change the WIKILOGOIMG variable.


Customize Topic Classification Forms

With a simple one or two-line default topic form available for every topic - in Edit mode, click the [Add] button, and select the form if it isn't alredy enabled. Then, click the title to get to the actual form, [Edit], and carefully change values, probably basic page classifications. You'll get some increased value, and hands-on experience with TWikiForms, without having to read up about them first. ALERT! (add the corresponding search per category - copy a default and change)


Add Your Favorite JavaScript Features

You're no doubt familiar or better with HTML, JS, and "webmastering". Without getting into the TWikiTemplates system yet, you can easily edit the view.tmpl (in the templates directory) for some dramatic effects. The top of the template is mostly regular HTML with some variables. Open up some space in the <head> area, and you can drop in reliable JavaScripts - a pop-up window script, for example - or tag it as an external script.

ALERT! Depending on what you load up, you may change the overall cross-browser compatibility - however be careful that your site does not look beat up in various other browsers. The scripts you choose will determine compatibility.


TIP NOTE: Feel free to add your own tips to TWiki:TWiki.InstantEnhancements as quick notes at the end of the list, following the existing format!

Contributors: TWiki:Main.GrantBow, TWiki:Main.LynnwoodBrown, TWiki:Main.MikeMannix, TWiki:Main.PeterMasiar, TWiki:Main.PeterThoeny

 


InterWikis  

21 Apr 2002 - 06:03 - r1.3   PeterThoeny

Inter-Wiki Link Rules (or Links to other Sites)

This topic lists all aliases needed to map Inter-Site links to external wikis/sites.

Whenever you write ExternalSite:Page it will be linked automatically to the page on the external site. The link points to the URL corresponding to the ExternalSite alias below, concatenated to the Page you choose. Example: Type Wiki:RecentChanges to get Wiki:RecentChanges, the RecentChanges page at the original Wiki site.

How to define Inter-Site links

Inter-Site Links

Alias: URL: Tooltip Text:
Acronym http://www.acronymfinder.com/af-query.asp?Acronym=$page&String=exact Look up '$page' on Acronym Finder site
Google http://google.com/search?q= Search for '$page' on Google
Group http://groups.google.com/groups?hl=en&safe=off&group= News group '$page' at Google.com
ISBN http://service.bfast.com/bfast/click?bfmid=2181&sourceid=38704253&bfpid= Book with ISBN#$page (One click patent? Say no to Amazon!)
RFC http://www.faqs.org/rfcs/rfc$page.html IETF RFC #$page

Inter-Wiki Links

Alias: URL: Tooltip Text:
Advogato http://www.advogato.org/ '$page' on Advogato community site (with peer review)
C2find http://c2.com/cgi/wiki?FindPage&value= Search '$page' on the original 'WikiWikiWeb' site
DolphinWiki http://www.object-arts.com/wiki/html/Dolphin/ '$page' on Dolphin Wiki site
EfnetCppWiki http://www.encrypted.net/~jh/cpp-wiki/moin.cgi/ '$page' on Efnet Cpp Wiki site
EfnetPythonWiki http://www.encrypted.net/~jh/python-wiki/moin.cgi/ '$page' on 'EfnetPythonWiki' site
EfnetXmlWiki http://www.encrypted.net/~jh/xml-wiki/moin.cgi/ '$page' on Efnet XML Wiki site
FoxWiki http://fox.wikis.com/wc.dll?Wiki~ '$page' on Fox Wiki site
HammondWiki http://www.dairiki.org/HammondWiki/index.php3? '$page' on 'HammondWiki' site
LegoWiki http://www.object-arts.com/wiki/html/Lego-Robotics/ '$page' on 'LegoWiki' site
MbTest http://www.usemod.com/cgi-bin/mbtest.pl? '$page' on 'UseMod' Wiki variant
MeatBall http://www.usemod.com/cgi-bin/mb.pl? '$page' on 'MeatBall' site, a 'UseMod' Wiki variant
MoinMoin http://moin.sourceforge.net/cgi-bin/moin/moin/ '$page' on 'MoinMoin' Wiki site
MuWeb http://www.dunstable.com/scripts/MuWebWeb? '$page' on 'MuWeb' site
OrgPatterns http://i44pc48.info.uni-karlsruhe.de/cgi-bin/OrgPatterns? '$page' on Organizational Patterns site
PhpWiki http://phpwiki.sourceforge.net/phpwiki/index.php3? '$page' on Wiki site written in PHP
PolitizenWiki http://www.politizen.com/wiki.asp? '$page' on 'PolitizenWiki' site
PPR http://c2.com/cgi/wiki? '$page' on the original 'PortlandPatternRepository' site
PyWiki http://www.voght.com/cgi-bin/pywiki? '$page' on Wiki site written in Python
TWiki http://twiki.org/cgi-bin/view/ '$page' on TWiki site, we know it!
Squeak http://minnow.cc.gatech.edu/squeak/ '$page' on Squeak Smalltalk Wiki
UseMod http://www.usemod.com/cgi-bin/wiki.pl? '$page' on 'UseMod' Wiki site
VisualWorks http://wiki.cs.uiuc.edu/VisualWorks/ '$page' on 'VisualWorks' site
Wiki http://c2.com/cgi/wiki? '$page' on the original 'WikiWikiWeb' site
Wikipedia http://www.wikipedia.com/wiki/ '$page' on 'Wikipedia'
ZWiki http://joyful.com/zwiki/ '$page' on Zope's Wiki

Note: This topic is powered by the InterwikiPlugin.

 


InterwikiPlugin  

27 Jan 2003 - 07:41 - r1.6   PeterThoeny

Interwiki Plugin

The InterwikiPlugin links ExternalSite:Page text to external sites based on aliases defined in the InterWikis topic. This plugin is inspired by UseMod Wiki's inter-wiki links, http://www.usemod.com/cgi-bin/wiki.pl?InterWiki.

Syntax Rules

InterwikiPlugin Settings

Plugin settings are stored as Preferences variables. To reference a plugin setting write %<plugin>_<setting>%, for example, %INTERWIKIPLUGIN_SHORTDESCRIPTION%

Plugin Installation Instructions

ALERT! NOTE: This Plugin is included in the TWiki distribution package. You do not need to install it unless you want to upgrade to a newer version.

Plugin Info

Plugin Author: AndreaSterbini, PeterThoeny
Plugin Version: 18 Jan 2003, 1.0.3
Change History:  
18 Jan 2003: Allow number sign # in Page name
31 Aug 2002: Allow percent sign % in page name
27 Jul 2001: Allow numbers 0-9 in site name
26 Jul 2001: Fixed alternating missed link bug due to greedy $postfixPattern (fix by Richard Donkin)
14 Jul 2001: Changed to plug & play
16 Jun 2001: Made tooltips optional; prevent Module::Sub type of link
12 Jun 2001: Added optional tool tips (IE only); added the link rules topic name variable; added flexible link patterns; optional $page in URL
10 Jun 2001: Changed rules topic to table-based syntax
20 Feb 2001: Initial version
CPAN Dependencies: none
Other Dependencies: none
Perl Version: 5.0
Plugin Home: http://TWiki.org/cgi-bin/view/Plugins/InterwikiPlugin (TWiki:Plugins/InterwikiPlugin)
Feedback: http://TWiki.org/cgi-bin/view/Plugins/InterwikiPluginDev (TWiki:Plugins/InterwikiPluginDev)

Related Topics: InterWikis, TWikiPreferences, TWikiPlugins

-- AndreaSterbini - 20 Oct 2000
-- PeterThoeny - 18 Jan 2003
-- MikeMannix - 01 Oct 2001

 


JohnAltstadt  

12 Jan 2003 - 00:49 - r1.5   PeterThoeny

John Altstadt is a TWikiContributor.

See home page at TWiki:Main/JohnAltstadt

 


JohnTalintyre  

12 Jan 2003 - 02:23 - r1.2   PeterThoeny

John Talintyre is a TWiki:Codev/CoreTeam member and a TWikiContributor.

See TWiki:Main/JohnTalintyre

 


KevinKinnell  

12 Jan 2003 - 02:24 - r1.5   PeterThoeny

Kevin Kinnell is a TWikiContributor and used to be a TWiki:Codev/CoreTeam member.

See home page at TWiki:Main/KevinKinnell

 


KlausWriessnegger  

12 Jan 2003 - 00:50 - r1.2   PeterThoeny

Klaus Wriessnegger is a TWikiContributor.

See home page at TWiki:Main/KlausWriessnegger

 


MainFeatures  

01 Sep 2004 - 07:50 - r1.2   KarstenDroste

Main Features of TWiki

 


ManagingTopics  

12 Jan 2003 - 09:14 - r1.17   PeterThoeny

Managing Topics

Browser-based rename, move, and delete for individual topics

Overview

You can use browser-based controls to change a topic's name, move it to another TWiki web, or delete it to a hidden Trash web.

How to Rename/Move/Delete a Topic

  1. Click on [More] (bottom right of page) on the topic to be changed, then, in the new screen, on [Rename/move]. You can now rename and/or move/delete in one operation:
  2. Move/Delete: Select the target web if other than the current web - choose Trash to delete a topic.
  3. Rename: Enter the new topic name - default is current name
    ALERT! NOTE: You'll be warned if any of the topics to be affected are locked (being edited), or if there is a name conflict.
  4. Prevent updates by unchecking individual items on the list of referring links - these topics will NOT to be updated with the new name (by default, all referring links will be updated).
  5. Click on [Rename/Move]: the topic will be renamed and links to the topic updated as requested.

Deleted Topics: How to Clear the Trash

Deleted topics are moved to a special Trash web - they are NOT physically erased from the server. All webs share Trash - in case of a name conflict with a topic already Trash, the user is alerted and asked to choose a new name.

The Trash web should be be cleared periodically, by archiving (saving) the text and RCS files if required (recommended), then deleting them from the Trash directory.

Redirecting from an Old Topic

You can use TWikiMetaData to place a command in the WebTopicViewTemplate and WebTopicNonWikiTemplate that will indicate that a topic has been moved by searching for the tag %META:TOPICMOVED{...}%. Customize something like this:

%<nop>METASEARCH{type="topicmoved" web="TWiki" topic="ManagingTopics" 
title="This topic used to exist and was moved to: "}%

How Rename/Move Works

  1. %SEARCH%, with a special template, finds and displays all occurrences of the topic name in other topics, site-wide. These referring links are by default automatically changed to the new topic and/or web name. This includes relevant TWikiMetaData definitions.
  2. The topic is moved (if locks allow).
  3. References are changed (locks and permissions permitting).
  4. Any referring topics that can't be changed due to locks are listed - user can take note and change them at another time.

How Referring Topics Are Found

Referring topics are found using the %SEARCH% variable - see the template searchrenameview.tmpl. First, matching topics in the current web are listed - matches are to topic. Next, all webs (including the current one) are listed that match web.topic. Because %SEARCH% is used, webs marked in WebPreferences as NOSEARCHALL will not show up in the search for references to the topic being changed.

Changed references are kept are as short as possible, ex: topic is used in preference to web.topic.

Effect of User Access Settings

User permissions affect the Rename function in various ways. To rename a topic, you need both ALLOWTOPICCHANGE and ALLOWTOPICRENAME permission for that topic. To alter referring topics, you need change permission. See TWikiAccessControl for information on setting up access permissions.

Special Considerations

Consider carefully whether to make browser-based Rename/Move/Delete widely available, or to restrict it to an administrator/moderator group. Allowing all users to easily manipulate topics can be extremely useful in refactoring a busy web or site. However, there are at least two significant potential drawbacks to take into account:

Ultimately, the size, objectives, and policies of your TWiki site, the real-world behavior of your user group, and most importantly, the initial TWiki site management leadership, will determine the most effective implementation of this feature, and the success of the site overall.

Known Issues

Rename/Move is fairly complicated due to the dynamic generation of links. Ideally, it would be possible to run the required part of rendering in a way that would allow identification of the text to be changed. Unfortunately, these hooks don't exist in TWiki at present. Instead, %SEARCH% is used with a special template to show the text to be changed, and the selected topics are then altered. One drawback is that search can show matches that will not be updated due to case differences. Other mismatches with actual rendered output are also possible as the approaches are so different.

The following shows some limitations of square bracket processing.

[[Old Topic]]  => [[NewTopic][Old Topic]]
[[old topic]]  => [[NewTopic][old topic]]
[[old t opic]] => not changed
[[OldTopic]]   => [[NewTopic]]

-- MikeMannix? - 27 Dec 2001

 


ManagingWebs  

19 Jan 2003 - 08:22 - r1.23   PeterThoeny

Managing Webs

Adding webs is a web based operation; renaming and deleting webs are manual operations done directly on the server

Overview

A TWikiSite is divided into webs; each one represents one subject, one area of collaboration. Administrators can add/rename/delete webs.

Choose Web Template

There are two methods used to create a new web. First you can use a specially designed TemplateWeb. This is an invisible web that begins with an underscore "_" character. All topics in the _default template web will be copied into your new web.

The second method is to use an existing web as a template web. This may be useful if you already have a web that you like to use as a starting point. Only topics that have names beginning with Web... (like "WebHome", "WebNotify", etc.) are copied.

In either case you will want to be sure to verify that your new web has all the custom modifications that you desire.

Adding a New Web

Create a new web by filling out this form. Note: It is not recommended to create a new web for each little project. You can organize content within a web using TWikiForms and FormattedSearch. Cross-linking topics and search is easier if there are only a few larger webs.
Name of new web: Enter a short name of up to 10 characters. The name must start with one or more upper case letters, followed by optional lower case letters or numbers; it cannot be a WikiWord
Based on web: Select a TemplateWeb
Web color: Enter a StandardColors code for the web
Description:
 
 

Enter a short description of the web. Write Web.TopicName instead of just TopicName if you include links. This will list the web in the SiteMap (leave field empty if you prefer not to update the directory.)
Use to...
 

Continue the sentence describing the intended use. This is also for the SiteMap
Exclude web from "search all": No   Yes Specify if you want to exclude the web from a "search all webs" search. Note that the SiteMap will not list the web if you select Yes.
 

Note: Attachments will NOT get copied over along with their topics. This will be a feature added for the TWiki:Codev/CairoRelease.

Note: This script does not yet edit the TWiki.TWikiPreferences file to update the WIKIWEBLIST. This must be done by hand.

The manage script while creating the new web will update the following variables in the WebPreferences: WEBBGCOLOR, SITEMAPLIST, SITEMAPWHAT, SITEMAPUSETO and NOSEARCHALL. These variables are now used to dynamically generate the SiteMap.

Renaming or Deleting a Web

Renaming or deleting a web requires direct access to the installation files on the host server. There are currently no browser-based equivalents of the Rename/move/delete topic tools for working with webs.

NOTE: If you plan to rename the TWiki.Main web, remember that TWiki stores user and group topics in %MAINWEB%, default named Main. That means, every WikiName signature - Main.SomeUserName - points to it and would need updating (unless the variable, %MAINWEB%.SomeUserName, is used throughout).

  1. Prepare your site: Search each web for links to the target web, searching topic text for Oldwebname., including the dot so you'll find references like Oldwebname.SomeTopic.
  2. Edit the TWikiPreferences topic: Rename or delete the web from the WIKIWEBLIST variable.
  3. Login to the TWiki server, via Telnet or FTP.
  4. Go to twiki/data and rename or remove the web directory.
  5. Go to twiki/templates and rename or remove the web directory if present.
  6. Go to twiki/pub and rename or remove the web directory if present.

-- MikeMannix? - 14 Sep 2001
-- PeterThoeny - 07 Apr 2002
-- GrantBow - 16 Jan 2003

 


ManpreetSingh  

12 Jan 2003 - 00:50 - r1.3   PeterThoeny

Manpreet Singh is a TWikiContributor.

See home page at TWiki:Main/ManpreetSingh

 


MartinCleaver  

12 Jan 2003 - 00:51 - r1.2   PeterThoeny

Martin Cleaver is a TWikiContributor.

See home page at TWiki:Main/MartinCleaver

 


MartinRaabe  

25 Jan 2003 - 06:42 - NEW   PeterThoeny

Martin Raabe is a TWikiContributor.

See home page at TWiki:Main.MartinRaabe

 


MetaDataDefinition  

07 Sep 2001 - 12:43 - r1.7   MikeMannix?

Merged into TWikiMetaData - this topic to be rolled back.

 


MetaDataRendering  

11 Jan 2002 - 08:00 - r1.3   PeterThoeny

Meta Data Rendering

Various meta data can be stored in topics - MetaDataDefinition

This is rendered using the %META% variable. This is mostly used in the view, preview and edit scripts.

At present support is fairly basic:

Variable usage: Comment:
%META{"form"}% Show form data, see Form Templates
%META{"attachments"}% Show attachments, excluding hidden ones. Options:
all="on": Show all attachments i.e. including hidden ones
%META{"moved"}% Details of any topic moves
%META{"parent"}% Show topic parent. Options:
dontrecurse="on": By default recurses up tree, this has some cost.
nowebhome="on": Suppress WebHome.
prefix="...": Prefix that goes before parents, but only if there are parents, default "".
suffix="...": Suffix, only appears if there are parents, default "".
separator="...": Separator between parents, default is " > ".

Possible future additions:

-- JohnTalintyre - 29 Aug 2001
-- PeterThoeny - 10 Jan 2002

 


MikeMannix  

12 Jan 2003 - 02:25 - r1.2   PeterThoeny

Mike Mannix is a TWiki:Codev/CoreTeam member and a TWikiContributor.

See TWiki:Main/MikeMannix

 


MoveTopic  

01 Sep 2001 - 07:38 - r1.2   MikeMannix?

ManagingTopics can be used to move a topic from one Web to another. One specialised use of this is DeleteWeb?.

 


NewUserTemplate  

05 Jun 2002 - 07:34 - r1.3   PeterThoeny

%SPLIT%

Personal Preferences (details in TWikiVariables)

Related topics

 


NicholasLee  

12 Jan 2003 - 02:25 - r1.4   PeterThoeny

Nicholas Lee is a TWiki:Codev/CoreTeam member and a TWikiContributor.

See home page at TWiki:Main/NicholasLee

 


PeterFokkinga  

12 Jan 2003 - 02:26 - r1.4   PeterThoeny

Peter Fokkinga is a TWikiContributor.

See home page at TWiki:Main/PeterFokkinga

 


PeterThoeny  

12 Jan 2003 - 02:31 - r1.4   PeterThoeny

Peter Thoeny is the author of TWiki and therefore a TWiki:Codev/CoreTeam member and a TWikiContributor.

See home page at TWiki:Main/PeterThoeny and PeterThoeny

 


PreviewBackground  

23 Jan 2003 - 07:56 - r1.4   PeterThoeny

Background Image for Preview

Preview looks like the real page, but the links leed to an oops dialog warning users of not yet saved topics. In addition, a background with a "PREVIEW" watermark is shown to have visual clue that you are previewing a topic. You can change the background image by specifying the name of an attached background image file in the PREVIEWBGIMAGE variable in the TWikiPreferences.

Remarks:

-- PeterThoeny - 02 Oct 2000

 


RandyKramer  

12 Jan 2003 - 02:33 - r1.2   PeterThoeny

Rand Kramer is a TWikiContributor.

See home page at TWiki:Main/RandyKramer

 


RegularExpression  

23 Nov 2002 - 05:52 - r1.3   PeterThoeny

Regular Expressions

Introduction

Regular expressions (REs), unlike simple queries, allow you to search for text which matches a particular pattern.

REs are similar to (but more poweful than) the "wildcards" used in the command-line interfaces found in operating systems such as Unix and MS-DOS. REs are used by sophisticated search engines, as well as by many Unix-based languages and tools ( e.g., awk, grep, lex, perl, and sed ).

Examples

compan(y|ies) Search for company, companies
(peter|paul) Search for peter, paul
bug* Search for bug, bugs, bugfix
[Bb]ag Search for Bag, bag
b[aiueo]g Second letter is a vowel. Matches bag, bug, big
b.g Second letter is any letter. Matches also b&g
[a-zA-Z] Matches any one letter (but not a number or a symbol)
[^0-9a-zA-Z] Matches any symbol (but not a number or a letter)
[A-Z][A-Z]* Matches one or more uppercase letters
[0-9]{3}-[0-9]{2}-[0-9]{4} US social security number, e.g. 123-45-6789
PNG;Chart Search for topics containing the words PNG and Chart. This is not a regular expression! But a useful facility that is enabled when regular expression searching is enabled.

Searches with "and" combinations

Advanced

Here is stuff for our UNIX freaks: (copied from 'man egrep')

A regular expression is a pattern that describes a set of strings. Regular expressions are constructed analogously to arithmetic expressions, by using various operators to combine smaller expressions.

The fundamental building blocks are the regular expressions that match a single character. Most characters, including all letters and digits, are regular expressions that match themselves. Any metacharacter with special meaning may be quoted by preceding it with a backslash.

A bracket expression is a list of characters enclosed by [ and ]. It matches any single character in that list; if the first character of the list is the caret ^ then it matches any character not in the list. For example, the regular expression [0123456789] matches any single digit.

Within a bracket expression, a range expression consists of two characters separated by a hyphen. It matches any single character that sorts between the two characters, inclusive, using the locale's collating sequence and character set. For example, in the default C locale, [a-d] is equivalent to [abcd]. Many locales sort characters in dictionary order, and in these locales [a-d] is typically not equivalent to [abcd]; it might be equivalent to [aBbCcDd], for example.

Finally, certain named classes of characters are predefined within bracket expressions, as follows. Their names are self explanatory, and they are [:alnum:], [:alpha:], [:cntrl:], [:digit:], [:graph:], [:lower:], [:print:], [:punct:], [:space:], [:upper:], and [:xdigit:]. For example, [[:alnum:]] means [0-9A-Za-z], except the latter form depends upon the C locale and the ASCII character encoding, whereas the former is independent of locale and character set. (Note that the brackets in these class names are part of the symbolic names, and must be included in addition to the brackets delimiting the bracket list.) Most metacharacters lose their special meaning inside lists. To include a literal ] place it first in the list. Similarly, to include a literal ^ place it anywhere but first. Finally, to include a literal - place it last.

The period . matches any single character. The symbol \w is a synonym for [[:alnum:]] and \W is a synonym for [^[:alnum]].

The caret ^ and the dollar sign $ are metacharacters that respectively match the empty string at the beginning and end of a line. The symbols \< and \> respectively match the empty string at the beginning and end of a word. The symbol \b matches the empty string at the edge of a word, and \B matches the empty string provided it's not at the edge of a word.

A regular expression may be followed by one of several repetition operators:

? The preceding item is optional and matched at most once.
* The preceding item will be matched zero or more times.
+ The preceding item will be matched one or more times.
{n} The preceding item is matched exactly n times.
{n,} The preceding item is matched n or more times.
{n,m} The preceding item is matched at least n times, but not more than m times.

Two regular expressions may be concatenated; the resulting regular expression matches any string formed by concatenating two substrings that respectively match the concatenated subexpressions.

Two regular expressions may be joined by the infix operator |; the resulting regular expression matches any string matching either subexpression.

Repetition takes precedence over concatenation, which in turn takes precedence over alternation. A whole subexpression may be enclosed in parentheses to override these precedence rules.

The backreference \n, where n is a single digit, matches the substring previously matched by the nth parenthesized subexpression of the regular expression.

 


ResetPassword  

07 Nov 2002 - 07:54 - r1.4   PeterThoeny

Request for reset of password

Please only use this ResetPassword form in case you really forgot your password. Otherwise just change it using ChangePassword. Thank you.

Your WikiName: **
New password: **
Retype new password: **
     (Fields marked ** are required)

After submitting this form you will see a page with your new password appearing encrypted.

You will have to e-mail this information to the Wiki webmaster caad-yearly@hbt.arch.ethz.ch , who will set your account to use the new password.

 


RichardDonkin  

12 Jan 2003 - 02:36 - r1.2   PeterThoeny

Richard Donkin is a TWiki:Codev/CoreTeam member and a TWikiContributor.

See home page at TWiki:Main/RichardDonkin

 


RyanFreebern  

12 Jan 2003 - 02:37 - r1.2   PeterThoeny

Ryan Freebern is a TWikiContributor.

See home page at TWiki:Main/RyanFreebern

 


SearchDoesNotWork  

01 Sep 2001 - 00:21 - r1.2   PeterThoeny

FAQ:

I've problems with the WebSearch. There is no Search Result on any inquiry. By clicking the Index topic it's the same problem.

Answer:

That is an indication that TWiki can't find the egrep and fgrep commands on your system. Check the $egrepCmd and $fgrepCmd variables in twiki/lib/TWiki.cfg.

Back to: TWikiFAQ

-- PeterThoeny - 26 Jan 2001

 


SimultaneousEdits  

01 Sep 2001 - 00:22 - r1.2   PeterThoeny

FAQ:

What happens if two of us try to edit the same topic simultaneously?

Answer:

The second person gets a warning that the topic is currently being edited by another user. A topic gets locked automatically for some time (default is one hour) when you edit, preview or save the topic. If you get the lock warning you should wait until the lock is gone or contact the other person to ask if you can go ahead and break the lock. See also UnlockTopic.

Back to: TWikiFAQ

-- PeterThoeny - 27 Nov 2000

 


SiteMap  

21 Apr 2002 - 06:18 - r1.2   PeterThoeny

TWiki Site Map

TWiki Site Map Use to...
TWiki.TWiki Welcome, Registration, and other StartingPoints; TWiki history & Wiki style; All the docs...     { Changes | Search | Prefs } ...discover TWiki details, and how to start your own site.
You can use color coding by web for identification and reference. This table is updated automatically based on WebPreferences settings of the individual webs. Contact caad-yearly@hbt.arch.ethz.ch if you need a separate collaboration web for your team.

 


SiteUsageStatistics  

01 Sep 2001 - 07:27 - NEW   MikeMannix?

Site Usage Statistics

-- MikeMannix - 01 Sep 2001

 


StandardColors  

09 Dec 2002 - 20:08 - r1.4   PeterThoeny

The 256 Standard Colors

This table can be used to choose a color in WebPreferences of each web.

#000000 #000033 #000066 #000099 #0000CC #0000FF
#003300 #003333 #003366 #003399 #0033CC #0033FF
#006600 #006633 #006666 #006699 #0066CC #0066FF
#009900 #009933 #009966 #009999 #0099CC #0099FF
#00CC00 #00CC33 #00CC66 #00CC99 #00CCCC #00CCFF
#00FF00 #00FF33 #00FF66 #00FF99 #00FFCC #00FFFF
#330000 #330033 #330066 #330099 #3300CC #3300FF
#333300 #333333 #333366 #333399 #3333CC #3333FF
#336600 #336633 #336666 #336699 #3366CC #3366FF
#339900 #339933 #339966 #339999 #3399CC #3399FF
#33CC00 #33CC33 #33CC66 #33CC99 #33CCCC #33CCFF
#33FF00 #33FF33 #33FF66 #33FF99 #33FFCC #33FFFF
#660000 #660033 #660066 #660099 #6600CC #6600FF
#663300 #663333 #663366 #663399 #6633CC #6633FF
#666600 #666633 #666666 #666699 #6666CC #6666FF
#669900 #669933 #669966 #669999 #6699CC #6699FF
#66CC00 #66CC33 #66CC66 #66CC99 #66CCCC #66CCFF
#66FF00 #66FF33 #66FF66 #66FF99 #66FFCC #66FFFF
#990000 #990033 #990066 #990099 #9900CC #9900FF
#993300 #993333 #993366 #993399 #9933CC #9933FF
#996600 #996633 #996666 #996699 #9966CC #9966FF
#999900 #999933 #999966 #999999 #9999CC #9999FF
#99CC00 #99CC33 #99CC66 #99CC99 #99CCCC #99CCFF
#99FF00 #99FF33 #99FF66 #99FF99 #99FFCC #99FFFF
#CC0000 #CC0033 #CC0066 #CC0099 #CC00CC #CC00FF
#CC3300 #CC3333 #CC3366 #CC3399 #CC33CC #CC33FF
#CC6600 #CC6633 #CC6666 #CC6699 #CC66CC #CC66FF
#CC9900 #CC9933 #CC9966 #CC9999 #CC99CC #CC99FF
#CCCC00 #CCCC33 #CCCC66 #CCCC99 #CCCCCC #CCCCFF
#CCFF00 #CCFF33 #CCFF66 #CCFF99 #CCFFCC #CCFFFF
#FF0000 #FF0033 #FF0066 #FF0099 #FF00CC #FF00FF
#FF3300 #FF3333 #FF3366 #FF3399 #FF33CC #FF33FF
#FF6600 #FF6633 #FF6666 #FF6699 #FF66CC #FF66FF
#FF9900 #FF9933 #FF9966 #FF9999 #FF99CC #FF99FF
#FFCC00 #FFCC33 #FFCC66 #FFCC99 #FFCCCC #FFCCFF
#FFFF00 #FFFF33 #FFFF66 #FFFF99 #FFFFCC #FFFFFF

-- PeterThoeny - 09 Dec 2002

 


StanleyKnutson  

12 Jan 2003 - 02:39 - r1.2   PeterThoeny

Stanley Knutson is a TWikiContributor.

See home page at TWiki:Main/StanleyKnutson

 


StartingPoints  

01 Feb 2003 - 10:06 - r1.3   PeterThoeny

Welcome to TWiki. This page assumes that you are a new user to TWiki, and that you've never heard of Wiki before. Here are the most important pages you should know about to get you up to speed on what Wiki is, and how to use it. Follow any of the links below that interest you and use your browser's back button to return to this page if you need to.

 


SvenDowideit  

12 Jan 2003 - 02:40 - r1.2   PeterThoeny

Sven Dowideit is a TWikiContributor.

See home page at TWiki:Main/SvenDowideit

 


TWikiAccessControl  

01 Sep 2004 - 07:50 - r1.28   KarstenDroste

TWiki Access Control

Restricting read and write access to topics and webs, by Users and groups

TWikiAccessControl allows you restrict access to single topics and entire webs, by individual user and by user Groups, in three areas: view; edit & attach; and rename/move/delete. Access control, combined with TWikiUserAuthentication, lets you easily create and manage an extremely flexible, fine-grained privilege system.

An Important Control Consideration

Open, freeform editing is the essence of WikiCulture - what makes TWiki different and often more effective than other collaboration tools. For that reason, it is strongly recommended that decisions to restrict read or write access to a web or a topic are made with care - the more restrictions, the less Wiki in the mix. Experience shows that unrestricted write access works very well because:

As a collaboration guideline:

Users and Groups

Access control is based on the familiar concept of Users and Groups. Users are defined by their WikiNames. They can then be organized in unlimited combinations by inclusion in one or more user Groups. For convenience, Groups can also be included in other Groups.

Managing Users

A user can create an account in TWikiRegistration. The following actions are performed:

Users can be authenticated using Basic Authentication (htaccess) or SSL (secure server). In either case, TWikiUserAuthentication is required in order to track user identities, and use User and Group access control.

The default visitor name is TWikiGuest. This is the non-authenticated user.

Managing Groups

Groups are defined by group topics created in the Main web, like the TWikiAdminGroup. To create a new group:

  1. Edit TWikiGroups by entering a new topic with a name that ends in Group. Example:
  2. Set Preferences for two Variables in the new group topic:

Restricting Write Access

You can define who is allowed to make changes to a web or a topic.

Deny Editing by Topic

Denying editing of a topic also restricts file attachment; both privileges are assigned together.

Deny Editing by Web

Restricting web-level editing blocks creating new topics, changing topics or attaching files.

The same rules apply as for restricting topics, with these additions:

Restricting Rename Access

You can define who is allowed to rename, move or delete a topic, or rename a web.

Deny Renaming by Topic

To allow a user to rename, move or delete a topic, they also need write (editing) permission. They also need write access to change references in referring topics.

Deny Renaming by Web

You can define restrictions of who is allowed to rename a TWiki web.

The same rules apply as for topics, with these additions:

Restricting Read Access

You can define who is allowed to see a web.

Deny Viewing by Topic

ALERT! Technically it is possible to restrict read access to an individual topic based on DENYTOPICVIEW / ALLOWTOPICVIEW preferences variables, provided that the view script is authenticated. However this setup is not recommended since all content is searchable within a web - a search will turn up view restricted topics.

Deny Viewing by Web

You can define restrictions of who is allowed to view a TWiki web. You can restrict access to certain webs to selected Users and Groups, by:

Obfuscate Webs

The idea is to keep a web hidden by not publishing its URL and by preventing the all webs search option from accessing obfuscated webs. Do so by enabling the NOSEARCHALL variable in WebPreferences:

This setup can be useful to hide a new web until content its ready for deployment.

ALERT! Obfuscating webs is insecure, as anyone who knows the URL can access the web.

Authenticate all Webs and Restrict Selected Webs

Use the following setup to authenticate users for topic viewing in all webs and to restrict access to selected webs:

  1. Restrict view access to selected Users and Groups. Set one or both of these variables in its WebPreferences topic:
  2. Hide the web from an "all webs" search. Enable this restriction with the NOSEARCHALL variable in its WebPreferences topic:
  3. Add view to the list of authenticated scripts in the .htaccess file.

HELP This method only works if the view script is authenticated, which means that all Users have to login, even for read-only access. (An open guest account, like TWikiGuest, can get around this, allowing anyone to login to a common account with, for example, view-only access for public webs.) TWikiInstallationGuide has more on Basic Authentication, using the .htaccess file.

Authenticate and Restricting Selected Webs Only

Use the following setup to provide unrestricted viewing access to open webs, with authentication only on selected webs:

  1. Restrict view access to selected Users and Groups. Set one or both of these variables in its WebPreferences topic:
  2. Hide the web from an "all webs" search. Enable this restriction with the NOSEARCHALL variable in its WebPreferences topic:
  3. Enable the $doRememberRemoteUser flag in lib/TWiki.cfg as described in TWikiUserAuthentication. TWiki will now remember the IP address of an authenticated user.
  4. Copy the view script to viewauth (or better, create a symbolic link)
  5. Add viewauth to the list of authenticated scripts in the .htaccess file. The view script should not be listed in the .htaccess file.

When a user accesses a web where you enabled view restriction, TWiki will redirect from the view script to the viewauth script once (this happens only if the user has never edited a topic). Doing so will ask for authentication. The viewauth script shows the requested topic if the user could log on and if the user is authorized to see that web.

ALERT! Authenticating webs is not very secure, as there is a way to circumvent the read access restriction. It can be useful in certain situations - for example, to simplify site organization and clutter, by hiding low traffic webs - but is not recommended for securing sensitive content.

Hiding Control Settings

TIP To hide access control settings from normal browser viewing, place them in comment markers.

<!--
   * Set DENYTOPICCHANGE = Main.SomeGroup
-->

The SuperAdminGroup

By mistyping a user or group name in the ALLOWTOPICCHANGE setting, it's possible to lock a topic so that no-one can edit it from a browser. To avoid this, you can create Web-based superusers:

$superAdminGroup = "TWikiAdminGroup";

-- PeterThoeny - 04 May 2002
-- MikeMannix? - 12 May 2002

 


TWikiAdminCookBook  

01 Sep 2004 - 07:50 - r1.3   KarstenDroste

TWiki Admin Cook Book

This page has many tips and tricks, particularly useful when you're installing TWiki for the first time. This guide is most useful before or immediately following a TWiki installation!

See also:


During Installation

Rename Main web to User web

You can rename the Main web to User. It will make WikiWord links to usernames more meaningful (User.UserName instead of Main.UserName); but does not bring much gain for other types of topics like (User.EngineeringGroup or User.TokyoOffice). Just rename data/Main to data/User, and change $mainWebname variable in lib/TWiki.cfg file. Signatures in all existing topics need to be fixed as well.

See also TWiki:Codev.RenameMainWebToHome, TWiki:Codev.RenameTheMainWeb, TWiki:Codev.SeparateHowtoWeb for arguments pro and con.

Help with remembering passwords

Users keep Forgetting Passwords (see TWiki:Codev.ForgettingPasswords ). When demonstrating TWiki to new users and/or helping them with TWikiRegistration, do not forget to show the user how to use the "remember my password" feature in their browser.

A quick way to check the guest password is to view the .htaccess file.

AuthName 'TWiki UserName (i.e. TWikiGuest/guest)'


Before First Presentation

Tips about first presentation -- read TWiki:Main.TWikiCourseOutlineExample and TWiki:Codev.HowToGetInternalBuyInForTWiki. TWiki:Main.TWikiPresentations page has PeterThoeny's full presentation, RichardDonkin added an excellent PowerPoint version (only 18 slides), with places to add your own info.

How to build participation: read WikiOrg?:TipsForSiteOperators - advice directly from Ward Cunningham, author of Wiki concept and first Wiki.

Consider installing #CommentPlugin and #SlideShowPlugin before your first demo.

Simplify menu in page templates

How to get nice pages with simpler menu options for beginners

A Skin is TWiki's way to present different system-generated formats (like header/footer/sidebar menu) and exactly the same information from the page body (see TWikiSkins). The "Classic" TWiki skin is oriented towards advanced power users. Newbies may feel overwhelmed by the number of options. Many simpler custom skins are in development at TWiki:Plugins.WebHome. Consider using a simpler custom skin to make a better "first impression": TWiki is simple to use.

There is currently a discussion at TWiki:Codev.SimplerDefaultTemplates about simpler default template for TWiki:Codev.SimplerTWikiDistribution.

Customize tutorial for beginners

Select simpler skin and customize beginner's help topics accordingly.


Best of Plugins

With more than 60 TWiki plugins (and counting), there are a lot to choose from. Plugins are mainly contributed by TWiki users who are software developers. Plugins are a relatively new TWiki addition, so there are fewer established standards than for the core TWiki code. This means that not all plugins are equal in ease of installation, operation, or compatibility with each other. Here are selected plugins that are reliable, easy-to-use and offer basic enhanced functionality.

CommentPlugin -- TWiki:Plugins.CommentPlugin

User-friendly alternative of Edit, without losing Wiki spirit. Comments can be entered in a conventional Web form style with a text box and a submit button. This is all displayed on a TWiki page without having to use TWiki's Edit. Text added appears exactly as if edited normally, and topic can be edited also using the full TWiki Edit. This is useful to encourage participation among your users who are not yet comfortable with TWiki capabilities.

SlideShowPlugin -- TWiki:Plugins.SlideShowPlugin

This Plugin allows you to convert topics with headings into web based presentations. This is a useful alternative to PowerPoint, especially if you need to link to related content.

SpreadSheetPlugin -- TWiki:Plugins.SpreadSheetPlugin

This Plugin allows you to add spreadsheet calculation like "$SUM( $ABOVE() )" to tables located in TWiki topics.

TablePlugin -- TWiki:Plugins.TablePlugin

A must-have, this Plugin allows you to control attributes of tables and sorting of table columns.

TopicVarsPlugin -- TWiki:Plugins.TopicVarsPlugin

This lets you create variables, like a graphics icon library, in any topic - instead of only in WebPreferences - and refer to them from other topics within the same web.


TWiki-based applications


Please add your favorite TWiki tips/trick to TWiki:TWiki.TWikiAdminCookBook to help the next new TWiki admin. (One BIG area: include pages of implemented basic SEARCHes, like, to generate a straight TOPICS list (alphabetical web topic titles only); also, simple combos of forms + search, like one- and two-category forms to use to classify pages, and then searches to find and display in few useful formats; more in that general area.)

Contributors: TWiki:Main.GrantBow, TWiki:Main.JonReid, TWiki:Main.MikeMannix, TWiki:Main.MikeMaurer, TWiki:Main.PeterMasiar, TWiki:Main.PeterThoeny

 


TWikiCategoryTable  

18 Sep 2001 - 06:31 - r1.7   PeterThoeny

Note: This feature has been replaced by: TWikiForms

 


TWikiContributor  

12 Jan 2003 - 00:48 - r1.6   PeterThoeny

TWiki Contributor

A TWiki contributor is a person devoting his/her time to contribute on the development of the Open Source project TWiki, hosted at http://TWiki.org/ . It is defined as a person who:

I would like to take this opportunity to express my appreciation to all who contributed ideas, code, fixes and documentation.

List of contributors

Topics in TWiki web: Changed: now 00:57 Changed by:
AdrianLynch 22 Jan 2003 - 09:25 - NEW PeterThoeny

AlWilliams 12 Jan 2003 - 00:47 - r1.3 PeterThoeny

AndreaSterbini 12 Jan 2003 - 02:24 - r1.3 PeterThoeny

ChristopheVermeulen 12 Jan 2003 - 02:23 - r1.5 PeterThoeny

ColasNahaboo 12 Jan 2003 - 00:48 - r1.2 PeterThoeny

CrisBailiff 12 Jan 2003 - 00:47 - r1.4 PeterThoeny

DavidWarman 12 Jan 2003 - 00:47 - r1.5 PeterThoeny

GrantBow 27 Jan 2003 - 07:42 - r1.2 PeterThoeny

HaroldGottschalk 12 Jan 2003 - 00:48 - r1.3 PeterThoeny

JohnAltstadt 12 Jan 2003 - 00:49 - r1.5 PeterThoeny

JohnTalintyre 12 Jan 2003 - 02:23 - r1.2 PeterThoeny

KevinKinnell 12 Jan 2003 - 02:24 - r1.5 PeterThoeny

KlausWriessnegger 12 Jan 2003 - 00:50 - r1.2 PeterThoeny

ManpreetSingh 12 Jan 2003 - 00:50 - r1.3 PeterThoeny

MartinCleaver 12 Jan 2003 - 00:51 - r1.2 PeterThoeny

MartinRaabe 25 Jan 2003 - 06:42 - NEW PeterThoeny

MikeMannix 12 Jan 2003 - 02:25 - r1.2 PeterThoeny

NicholasLee 12 Jan 2003 - 02:25 - r1.4 PeterThoeny

PeterFokkinga 12 Jan 2003 - 02:26 - r1.4 PeterThoeny

PeterThoeny 12 Jan 2003 - 02:31 - r1.4 PeterThoeny

RandyKramer 12 Jan 2003 - 02:33 - r1.2 PeterThoeny

RichardDonkin 12 Jan 2003 - 02:36 - r1.2 PeterThoeny

RyanFreebern 12 Jan 2003 - 02:37 - r1.2 PeterThoeny

StanleyKnutson 12 Jan 2003 - 02:39 - r1.2 PeterThoeny

SvenDowideit 12 Jan 2003 - 02:40 - r1.2 PeterThoeny

VitoMiliano 12 Jan 2003 - 02:40 - r1.2 PeterThoeny


Number of topics: 26

Note: Please contact a TWiki:Codev/CoreTeam member in case you contributed to TWiki and your name is not on this list!

List of contributions

-- PeterThoeny

 


TWikiDocGraphics  

25 Jan 2003 - 07:09 - r1.12   PeterThoeny

TWiki Documentation Graphics

This is one way to create a library of common icons, accessible through user-defined TWikiVariables set in WebPreferences, or in TWikiPreferences for site-wide use.

There are other approaches as well: the TWiki:Plugins/TopicVarsPlugin lets you set variables in any topic, not just in WebPreferences, for use in the same. The TWiki:Plugins/SmiliesPlugin, using a different short hand than %VARIABLES%, may be worth checking out for extended use.

In this example, TWikiDocGraphics - this topic - acts as the icon library. Graphics are uploaded and displayed. Then, the paths are set in TWiki.TWikiPreferences#DocGraphics for site-wide access. You can also create individual library pages in each web. And you don't have to restrict yourself to graphics: Preferences Variables can include text and links to any type of file.

-- PeterThoeny - 17 Jan 2003
-- MikeMannix? - 16 May 2002

 


TWikiDocumentation  

31 Jan 2003 - 07:15 - r1.43   PeterThoeny

TWiki Reference Manual (04 Sep 2004 $Rev: 1742 $)

This page contains all documentation topics as one long, complete reference sheet.
Doubleclick anywhere to return to the top of the page.

Note: Read the most up to date version of this document at http://TWiki.org/cgi-bin/view/TWiki/TWikiDocumentation

Related Topics: TWikiSite, TWikiHistory, TWikiPlannedFeatures, TWikiEnhancementRequests


TWiki System Requirements

Server and client requirements for TWiki 01-Feb-2003

Low client and server requirements are core features that keep TWiki widely deployable, particularly across a range of browser platforms and versions.

Server Requirements

TWiki is written in Perl 5, uses a number of shell commands, and requires RCS (Revision Control System), a GNU Free Software package. TWiki is developed in a basic Linux/Apache environment. It also works with Microsoft Windows, and should have no problem on any other platform that meets the requirements.

Required Server Environment
Resource Unix Windows*
Perl 5.005_03 or higher (5.6.1 recommended,
5.8.0 not recommended yet, see TWiki:Codev.UsingPerl58OnRedHat8)
Non-standard Perl modules Net::SMTP (or sendmail) Net::SMTP, MIME::Base64, Digest::SHA1
RCS 5.7 or higher (including GNU diff)
Optional, but the all-Perl RCS replacement is not currently recommended for live sites - see TWiki:Codev.RcsLite.
GNU diff GNU diff 2.7 or higher is required when not using the all-Perl RcsLite.
Install on PATH if not included with RCS (check version with diff -v)
Other external programs ls, fgrep, egrep
Cron/scheduler cron cron equivalents
Web server Apache 1.3 is well supported; Apache 2.0 is not recommended yet (see TWiki:Support.FailedAuthenticationWithApache2OnWinNT).
For other servers, CGI support, authentication, extended path required

ALERT! * Current documentation mainly covers Linux and Apache installations. See WindowsInstallCookbook for a Windows installation guide. See TWiki:Codev.TWikiOn for help with installation on various platforms including Unix, MacOS X, Apache mod_perl, web hosts, etc.

Client Requirements

The TWiki standard installation has extremely low browser requirements:

You can easily add functionality, by customizing TWikiTemplates, for one, while tailoring the browser requirements to your situation.

Known Issues

-- MikeMannix - 12 Jan 2002


TWiki Installation Guide

Installation instructions for the TWiki 01-Feb-2003 production release. Update notes for the new RCS configuration are marked Dataframework.

These installation steps are based on the Apache web server on Linux. TWiki runs on other web servers and Unix systems, and should be fine with any web server and OS that meet the system requirements. Documentation for other platforms is somewhat limited:

Standard Installation

Request and download the TWiki 01-Feb-2003 distribution in Unix ZIP format from http://TWiki.org/download.html. Please review the AdminSkillsAssumptions before you install TWiki.

Step 1: Create & Configure the Directories

ALERT! NOTE: If you don't have access to your Web server configuration files - for example, if you're installing on an ISP-hosted account, or you don't have administrator privileges on your intranet server - use the alternative Step 1 instead.

Example httpd.conf entries:
 ScriptAlias /twiki/bin/ "/home/httpd/twiki/bin/"
 Alias /twiki/ "/home/httpd/twiki/"
 <Directory "/home/httpd/twiki/bin">
    Options +ExecCGI
    SetHandler cgi-script
    Allow from all
 </Directory>
 <Directory "/home/httpd/twiki/pub">
    Options FollowSymLinks +Includes
    AllowOverride None
    Allow from all
 </Directory>
 <Directory "/home/httpd/twiki/data">
    deny from all
 </Directory>
 <Directory "/home/httpd/twiki/templates">
    deny from all
 </Directory>

Step 1 for Non-Root Accounts

To install TWiki on a system where you don't have Unix/Linux root (administrator) privileges, for example, on a hosted Web account or an intranet server administered by someone else:

TWiki dir: What it is: Where to copy: Example:
twiki start-up pages root TWiki dir /home/smith/twiki/
twiki/bin CGI bin CGI-enabled dir /home/smith/twiki/bin
twiki/lib library files same level as twiki/bin /home/smith/twiki/lib
twiki/pub public files htdoc enabled dir /home/smith/twiki/pub
twiki/data topic data dir secure from public access /home/smith/twiki/data
twiki/templates web templates dir secure from public access /home/smith/twiki/templates

If you are not able to create the twiki/lib directory at the same level as the twiki/bin directory (e.g. because CGI bin directories can't be under your home directory and you don't have root access), you can create this directory elsewhere and edit the setlib.cfg file in the bin directory:

    # -------------- Change these settings if required

    $twikiLibPath = '/some/other/path/lib';   # Path to lib directory containing TWiki.pm

You can also edit $localPerlLibPath in the setlib.cfg file if you are not root and need to install additional CPAN modules, but can't update the main Perl installation files on the server. Just set this variable to the full pathname to your local lib directory, typically under your home directory.

Step 2: Set File Permissions

cd twiki/data
perl -pi~ -e 's/nobody:/www-data:/' */*,v

Step 3: Set the Main Configuration File

Step 4: Configure Site-Wide Email Preferences

Step 5: Finish Up from Your Browser

That's it for the standard virgin installation of TWiki. Read on for server-level customization options.

Additional Server-Level Options

With your new TWiki installation up and running, you can manage most aspects of your site from the browser interface. Only a few functions require access to the server file system, via Telnet or FTP. You can make these server-level changes during installation, and at any time afterwards.

Enabling Authentication of Users

That's it for a basic new web set-up!

Optionally, you can also:

ALERT! NOTE: User home topics are located in the TWiki.Main web - don't try to move them or create them in other webs. From any other web, user signatures have to point to TWiki.Main web, using a Main.UserName or %MAINWEB%.UserName format. (The %MAINWEB% variable is an advantage if you ever change the Main web name, but the standard Main.UserName is easier for users to enter, which is the bottom line!

TWiki File System Info

See Appendix A: TWiki File System for an installed system snapshot and descriptions of all files in the TWiki 01-Sep-2001 distribution.

-- PeterThoeny - 28 Dec 2002
-- MikeMannix? - 16 May 2002


Windows Install Cookbook

Introduction

This cookbook is intended to get you up and running with TWiki on Windows quickly, with as few problems as possible. The 'cookbook' approach is simply to restrict the many choices that someone installing TWiki must make, so that a reasonably well-defined procedure can be followed - new users can simply follow the steps, while experts can use this as more of a guideline. Please read TWiki:Codev.WindowsModPerlInstallCookbook in case you use mod_perl.

There is a huge volume of existing material on TWiki about installing on Windows, and I'm indebted to the many contributors for this - the aim of this cookbook is to synthesise the many tips into a recipe that works.

-- RichardDonkin - 24 Feb 2002

Recent updates

Scope

This document covers installation of the TWiki -1-Feb-2003 production release in the following environment - if you want to use a different environment, feel free to use this as a guideline only.

Component Name, version Comment
Operating System Windows 2000 Should also work for Windows NT
Web Server Apache 1.3.26 Windows-specific security holes fixed in this build
(check latest version at http://httpd.apache.org, but don't use Apache 2.0 yet)
Unix tools Cygwin 1.3.9 Simplest way to get a whole set of required tools
Perl Cygwin perl-5.6.1-2 Comes with Cygwin
RCS Cygwin rcs-5.7-2 Comes with Cygwin, includes a file corruption bugfix

Why this choice of packages? Because I've tried them, and they work well, without requiring a complicated setup... In particular, Apache is the commonest choice for TWiki on Unix/Linux, Cygwin Perl is very close to Unix Perl, and the Cygwin RCS is regularly updated, with a recent TWiki-relevant bug fix in Feb 2002. Cygwin also lets you install the Unix tools, Perl and RCS in a single step, saving quite a lot of time.

More recent minor versions should be OK, but they can introduce bugs.

NEW Major version upgrades, such as Apache 2.0 and Perl 5.8, are very likely to cause problems - for example, Apache 2.0 is unable to authenticate (see TWiki:Support.FailedAuthenticationWithApache2OnWinNT) users created by the current TWiki user registration script (due to a feature being removed in 2.0), and Perl 5.8 may introduce issues due to its Unicode features. Even though the Apache group says that Apache 2.0 is the best version, that's not true for TWiki.

Alternatives

There are doubtless other combinations of components that may work - in particular:

Covering the whole range of additional possibilities, particularly web servers, would make this cookbook too complex, and is best handled as a separate activity.

Checking versions

If you already have some of these add-ons installed, here's how to check the versions - this assumes you have TWiki:Codev.CygWin already installed:

   $ : Cygwin DLL version is the number in 1.3.x format
   $ uname -r
   $ less c:/your-apache-dir/Announcement
   $ perl -v
   $ rcs -V

If you have an older version of any component, do yourself a favour and upgrade it as part of the install process.

Pre-requisites and upgrades

You will need to have local administrator rights and to be comfortable with Windows administration.

This cookbook is intended for a clean install, i.e. none of these components are already installed. However, since Cygwin and Apache's installation process is fairly upgrade-friendly, upgrades should work as well - take backups of all your data and config files first, though!

Text editing

Editing Cygwin files is best done with an editor that can handle Unix file format (see the Cygwin binary mode section below) - the installation process includes nano, a non-GUI editor, but if you prefer to use a GUI editor, you should first install PFE, a freeware editor that supports Unix format files. PFE is available on download.com and Simtel.

Another good TWiki:Codev.OpenSource editor is SciTE (aka WSciTE), available at http://www.scintilla.org/SciTE.html.

The Unix/Windows Environment

It's a little known fact that you can use pathnames such as c:/apache almost everywhere in Windows - try it in a File Open dialogue box. The main exception is the Win2000 cmd.exe command line shell - here, you must use double quotes around forward slashes, e.g. dir "c:/apache" will work fine.

The reason this matters is that '\' is a special character to Perl and other tools, so it's much easier to use '/' everywhere.

The Cygwin environment

TWiki:Codev.CygWin is a Unix-like environment for Windows - many of its tools support the c:/apache format, but it also provides a more Unixlike syntax, e.g. /usr/bin/rcs.exe, because some Unix tools ported onto Cygwin only support the Unix format.

When you launch a Cygwin shell, your existing PATH variable is translated from the Windows format to the Unix format, and the ';' separators in the Windows PATH are changed into ':' separators as required by Unix. A Cygwin tool (e.g. Cygwin Perl or Cygwin RCS) will always use the Unix PATH format, and will accept Unix format pathnames.

The Apache environment

Apache runs as a native Windows process and has nothing to do with Cygwin (at least the version used in this cookbook doesn't). Hence it supports c:/ pathnames in its config files and the first line of Perl CGI scripts.

If you need to use spaces in file names (not recommended), put double quotes around the file name in the httpd.conf file. There have been some security-related bugs in Apache with long pathnames, which are a bit more likely if you use spaces, so it's best to just avoid long names and using spaces.

The Perl environment

Once Perl has been launched by Apache, it is in Cygwin mode, and so is everything it launches, including ls, egrep, and RCS tools that it (typically) launches with the bash shell.

If you need to use spaces in file names (not recommended), you may be able to put double quotes around the file name in the TWiki.cfg file - however, it's not clear whether all the TWiki code would work with this.

Installing Components

Enough background, let's get on with the installation.

TWiki (part 1)

Head to http://twiki.org, click the download link, and fill in the form to request a URL for download. You'll get an automated email, which should arrive by the time you need it.

Apache

1. Download Apache

2. Install Apache

3. Test Apache

Congratulations, you now have a working web server!

To restart Apache after changing its config, type:

Another useful command is apache -k stop.

Cygwin, Unix tools, Perl and RCS

4. Install Cygwin

Head to http://cygwin.com, and click the Install Cygwin Now link. Save the setup.exe in a directory, e.g. c:\download\cygwin-dist.

Now run the Cygwin setup.exe file - this will also install Perl and RCS in one fell swoop.

5. Test Cygwin

The Cygwin User Guide is well worth reading for some background on how Cygwin works.

6. Configure Cygwin for binary mode

   $ mkdir /twiki /c c:/twiki
   $ mount -b -s c:/twiki /twiki
   $ mount -b -s c:/ /c
   $ mount -b -c /cygdrive
   $ mount
   Device              Directory           Type         Flags
   C:\cygwin\bin       /usr/bin            system       binmode
   C:\cygwin\lib       /usr/lib            system       binmode
   C:\cygwin           /                   system       binmode
   c:\twiki            /twiki              system       binmode
   c:                  /c                  system       binmode

This setup is written to the Windows registry, so there's no need to put these commands into a .profile file. For more information on binary vs text mode, see this User Guide section and this FAQ entry.

TWiki (part 2)

7. Download TWiki

Download the latest TWiki release from the URL that PeterThoeny sent you, and save it in the c:/twiki directory.

8. Install TWiki

Unzip the ZIP file under c:/twiki using WinZip, or by going into Cygwin and doing the following - you can hit the TAB key to complete filenames after you've typed the first part:

   $ cd /twiki
   $ unzip TWiki20011201.zip

Configuring components

Now that all the components are installed, you need to configure them.

Configuring Apache

The setup given here is fairly simple, in that it allows only TWiki to be served by the web server. For more complex setups, you can investigate the Alias and ScriptAlias commands that are left commented out in this configuration.

1. Configure Apache (part 1)

Using a suitable text editor (e.g. Cygwin's 'nano', or the Windows PFE editor, unless you already know 'vi'), edit c:/apache/conf/httpd.conf as follows - this tells Apache where TWiki lives, and removes the need to tinker with the Windows 2000 environment settings.

# Change this to point to the Apache administrator (e.g. you)
ServerAdmin you@yourdomain.com

# Replaces DocumentRoot "C:/apache/htdocs"
DocumentRoot "C:/twiki"

# Replaces <Directory "C:/apache/htdocs">
<Directory "C:/twiki">

# Alias /twiki/ "C:/twiki/"
# ScriptAlias /twiki/bin/ "C:/twiki/bin/"
<Directory  "C:/twiki/bin/">
    # RD: Changed None to All in next line, to enable .htaccess
    AllowOverride All
    Allow From All
    Options  ExecCGI
    SetHandler cgi-script
</Directory>

# Environment setup required to run Apache as service or as a
# standalone process.
<IfModule mod_env.c>
   # Adjust TZ for your server timezone, e.g. EST5EDT - put the non-daylight-savings
   # timezone code first (e.g. EST or GMT), followed by the number of hours that it's behind GMT 
   # during non-daylight-savings time (use '-5' for timezones in advance of GMT).
   SetEnv TZ GMT0BST
   SetEnv RCSINIT -x,v/
   # Adjust TEMP and TMP for your server and create directories if necessary
   SetEnv TEMP c:/temp
   SetEnv TMP c:/temp
   SetEnv LOGNAME system
   SetEnv HOME c:/twiki
</IfModule>

2. Configure Apache (part 2)

Add an AddHandler line to the <IfModule mod_mime.c> section of httpd.conf - this removes the need to rename all the TWiki CGI scripts later in the installation.

#
# Document types
#
<IfModule mod_mime.c>
    # TWiki setup - avoid renaming scripts
    AddHandler cgi-script .
</IfModule>

Configuring TWiki

3. Configure TWiki

Edit the TWiki config file, c:/twiki/lib/TWiki.cfg (or in Cygwin terms, /twiki/lib/TWiki.cfg) as follows:

# variables that need to be changed when installing on a new server:
# ==================================================================
#                   http://your.domain.com/twiki : link of TWiki icon in upper left corner :
$wikiHomeUrl      = "http://yourdomain.com/bin/view";
#                   Host of TWiki URL :    (Example "http://myhost.com:123")
$defaultUrlHost   = "http://yourdomain.com";
#                   /caadtwiki/bin : cgi-bin path of TWiki URL:
$scriptUrlPath    = "/bin";
#                   /caadtwiki/pub : Public data path of TWiki URL (root of attachments) :
$pubUrlPath       = "/pub";

# NOTE: Next three settings should be valid absolute pathnames using Cygwin; if using
# TWiki:Codev.ActiveState Perl, use z:/twiki format pathnames if your TWiki directory is not on C:.

#                   Public data directory, must match $pubUrlPath :
$pubDir           = "/twiki/pub";
#                   Template directory :
$templateDir      = "/twiki/templates";
#                   Data (topic files) root directory :
$dataDir          = "/twiki/data";

....

#                   Set ENV{'PATH'} explicitly for taint checks ( #!perl -T option ) :
#                   (Note: PATH environment variable is not changed if set to "")

# On Windows, $safeEnvPath needs only one component, the directory where RCS is installed
# - used by 'rcsdiff' to run 'co' program, so PATH must be correct.

# Unix/Linux setting:
# $safeEnvPath      = "/bin:/usr/bin";

# Using Cygwin perl, so can use Unix-like paths, with ':' as separator.
# Note that /usr/bin and /bin are identical due to default /usr/bin mount
# in Cygwin.  Must NOT use 'c:/foo' type paths, as ':' is taken as separator
# meaning that 'c' is interpreted as a pathname, giving Perl taint error.
$safeEnvPath      = "/bin";

# If using ActiveState perl, use Windows paths instead
# $safeEnvPath      = "c:/cygwin/bin";

...

#                   RCS directory (find out by 'which rcs') :
$rcsDir           = "c:/cygwin/bin";

...

#                   Unix egrep command :
$egrepCmd         = "/bin/grep -E";
#                   Unix fgrep command :
$fgrepCmd         = "/bin/grep -F";

For the cookbook install using Cygwin Perl, there's no more TWiki.cfg editing to be done, so you can get onto the next section.

#                   NOTE: When using ActiveState Perl, you must specify
#                   a full Windows-style pathname, using '\\' for backslashes,
#                   for the ls, egrep and fgrep commands, because Cygwin's shell
#                   is not used - forward slashes are OK in Windows everywhere
#                   except in the cmd.exe shell. Drive letters are OK - e.g.
#                   'c:\\foo\\ls' will work.  When using Cygwin perl, just
#                   use the default '/bin/ls' type settings.
#
#                   Unix ls command :
$lsCmd            = "c:\\cygwin\\bin\\ls";
#                   Unix egrep command :
$egrepCmd         = "c:\\cygwin\\bin\\grep";
#                   Unix fgrep command :
$fgrepCmd         = "c:\\cygwin\\bin\\grep";

Editing the CGI scripts

4. Editing the Shebang lines

Now to edit the curiously named 'shebang lines' at the top of the TWiki CGI scripts...

$ cd /twiki/bin

$ ls
attach   geturl         oops     rdiff     save        testenv  viewfile
changes  installpasswd  passwd   register  search      upload
edit     mailnotify     preview  rename    statistics  view

$ mkdir .backup 
$ cp * .backup

$ head -1 view
#!/usr/bin/perl -wT

$ perl -pi~ -e 's;#!/usr/bin/perl;#!c:/cygwin/bin/perl;' *[a-z]

$ head -1 view
#!c:/cygwin/bin/perl -wT

$ ls
attach    geturl          oops      rdiff      save         testenv   viewfile~
attach~   geturl~         oops~     rdiff~     save~        testenv~  view~
changes   installpasswd   passwd    register   search       upload
changes~  installpasswd~  passwd~   register~  search~      upload~
edit      mailnotify      preview   rename     statistics   view
edit~     mailnotify~     preview~  rename~    statistics~  viewfile

If for some reason the edit goes wrong, just type cp .backup/* . (while within the bin directory) to restore the original distribution files. Use ls -a to see the .backup directory, and ls -a .backup to view its contents.

Optional step: you can do 'rm *~' to clean out the backups made by Perl, but that's not essential as all the original files cannot be executed. If you do this, type the command very carefully, as a space after the '*' will wipe out all files in this directory!

5. Minor changes to TWiki scripts

As an interlude, you now need to make some minor edits to files in the c:/twiki/bin directory, using a suitable editor (remember to use nano -w filename if you prefer nano to vi - or just use the Windows PFE editor).

         return $user . ':{SHA}' . MIME::Base64::encode_base64(Digest::SHA1::sha1($passwd));

Perl module installation

6. Installing required Perl modules

Some additional Perl modules are needed for the register script to work properly. Fortunately, there is an automated tool that makes it easy to do this - it's called cpan, and goes to the Perl module archive site, http://www.cpan.org/, to download all required modules, and then build and install them. Here's what you need to do:

First of all, you need to get the cpan tool configured and working - this is only necessary once. From the Cygwin shell, type the following (putting the export command in ~/.profile is recommended to make this setting persistent). Without the TEMP variable, some modules may fail to install on Windows 2000 and higher.

$ export TEMP=/c/temp
$ cpan
Lots of questions about configuration and preferences - just hit Enter until you 
get to the questions about mirror sites, but answer the questions about FTP proxies etc
 if you are behind a proxy-based firewall.  The CPAN tool will fetch a series of files, 
some quite large, as part of this setup process, so be patient...

NOTE: If you are behind a non-proxy-based firewall that requires the use of passive FTP, the initial downloads of files using Net::FTP may appear to hang - just wait 5 or more minutes, however, and the CPAN tool should eventually hit on ncftpget, which is part of Cygwin and does work OK. If this doesn't work and you are behind a typical NAT-based firewall, try doing the following at the Cygwin shell before running cpan - this forces Net::FTP to use passive FTP, letting it get through such firewalls:

$ export FTP_PASSIVE=1
If this works, add this line to your ~/.profile file for future use.

Once some initial files are downloaded, you are asked to select your continent and country, and then mirror sites - just type the number of the mirror sites you want to use (pick a few in case one is down):

...
(28) Turkey
(29) Ukraine
(30) United Kingdom

Select your country (or several nearby countries) [] 30

(1) ftp://cpan.teleglobe.net/pub/CPAN
(2) ftp://ftp.clockerz.net/pub/CPAN/
(3) ftp://ftp.demon.co.uk/pub/CPAN/
(4) ftp://ftp.flirble.org/pub/languages/perl/CPAN/
(5) ftp://ftp.mirror.ac.uk/sites/ftp.funet.fi/pub/languages/perl/CPAN/
(6) ftp://ftp.plig.org/pub/CPAN/
(7) ftp://mirror.uklinux.net/pub/CPAN/
(8) ftp://sunsite.doc.ic.ac.uk/packages/CPAN/
(9) ftp://usit.shef.ac.uk/pub/packages/CPAN/
Select as many URLs as you like,
put them on one line, separated by blanks [] 4 7 8

Enter another URL or RETURN to quit: []
New set of picks:
  ftp://ftp.flirble.org/pub/languages/perl/CPAN/
  ftp://mirror.uklinux.net/pub/CPAN/
  ftp://sunsite.doc.ic.ac.uk/packages/CPAN/

Eventually, you'll get to the CPAN tool's shell prompt, where you need to install a few modules - the tool will do all the work for you.

cpan shell -- CPAN exploration and modules installation (v1.59_54)
cpan> install Net::SMTP
May already be installed - if it is, try 'force install', since it's useful to be able to set
firewall and passive FTP configuration when using Net::FTP.  Make sure you answer 'Y' to the question 
about whether you want to configure this package.
cpan> install Digest::SHA1
Lots of output about how CPAN finds, builds and installs the module - watch for 
any errors, though it should work fine if you have installed the Cygwin packages listed above (particularly 'gcc' and 'make').
cpan> install MIME::Base64
May already be installed.

Re-locking RCS files

7. Re-locking files

First, some testing: in your browser, go to http://yourdomain.com/bin/testenv - this provides a lot of detail, including warnings. Write down the Apache server's userid that is given by this script - typically either 'system' or 'administrator' - I'll assume 'system' from now on.

This 'system' user must own the locks on the RCS files, which are shipped with the lock held by 'nobody'. The reason this matters is that no revisions will be tracked by RCS unless the Apache userid matches that of the RCS file locks.

You can re-lock files using rcs -u and rcs -l, but it's a painfully manual process. Instead, just use Perl again to mass-edit all the RCS files, as follows:

$ cd /twiki/data

$ : Make a backup of all files
$ tar czvf all-files.tar.gz */*

$ : Test edit a single file to check your typing
$ perl -pi~~~ -e 'NR <= 10 && s/nobody:/system:/ ' Main/WebIndex.txt,v

$ diff Main/WebIndex.txt,v Main/WebIndex.txt,v~~~
5c5
<       system:1.2; strict;
---
>       nobody:1.2; strict;

$ : Now edit all the RCS files at once - use cursor-up to recall previous command
$ perl -pi~~~ -e 'NR <= 10 && s/nobody:/system:/ ' */*,v

$ : Check for any remaining files not edited
$ grep 'strict;$' */*,v | grep -v system

$ : Clean up - type this very carefully 
$ rm */*~~~

You have now re-locked all the RCS files and are almost ready to start using TWiki!

Email setup

8. Email setup for notification and registration

You need to set the SMTPMAILHOST to an SMTP email host that is reachable and currently working. Otherwise you'll get a confusing message from TWiki when registering new users or running mailnotify (for WebNotify), along the lines of:

   Software Error: Can't call method "mail" on an undefined value at ../lib/TWiki/Net.pm line 187.

There are other settings to be made in TWikiPreferences, e.g. the WIKIWEBMASTER and (probably) the SMTPSENDERHOST (normally your mail server or TWiki server). See the TWikiInstallationGuide for more details, what's listed here is just enough to let you run the basic tests.

Testing your TWiki installation

It is important to test your TWiki installation before you release it to other users or put any significant data into it.

Here are the main things to test:

Troubleshooting

If anything doesn't work, go back and check the configuration of the Apache httpd.conf file, and TWiki.cfg. Have a look at the Apache error log, c:/apache/logs/error_log, and the TWiki error log, /twiki/data/log*.txt, and if necessary enable debugging on selected scripts (the commands are right at the top of each script) - the results go into /twiki/data/debug.txt. There is also a /twiki/data/warning.txt file that contains less serious messages.

See TWiki:Codev.TWikiPatches in case there are patches (i.e. specific code changes) for particular problems that may affect you (e.g. TWiki:Codev.ChangePasswordOnWin2K).

If you find that the Index feature doesn't work, or topic name searches fail, you should check you have set $egrepCmd and $fgrepCmd correctly, as mentioned above.

Permissions

TWiki:Codev.CygWin has several models for how it does security:

I have not had any problems with TWiki permissions on Windows, unlike Linux/Unix, which is probably because I'm using the default security model for Cygwin. If you use the other models, you may still be OK if you have local admin rights, and Apache is running as the SYSTEM user (which it uses if started as a service). If you do have trouble in this area, see the TWikiInstallationGuide's advice, some of which will apply to TWiki:Codev.CygWin, and log any issues in TWiki:Codev.WindowsInstallCookbookComments.

Next Steps

See the TWikiInstallationGuide for other setup. In particular, you'll probably want to refer to the section on basic authentication - remember to use c:/twiki type filenames (i.e. Windows format) since you are using Apache for Windows.

Improved authentication

You may want to investigate TWiki:Codev.WindowsInstallModNTLM, which describes how to add an Apache module so that TWiki:Codev.InternetExplorer users are automatically authenticated based on their Windows domain login - this avoids TWiki:Codev.GettingTheUsernameWrong and TWiki:Codev.ForgettingPasswords, which are usually very common among TWiki users.

Improved performance

See TWiki:Codev.WindowsModPerlInstallCookbook and TWiki:Codev.ModPerl for information on installing TWiki under Apache's mod_perl - this is somewhat more complex and follows a different model, so it's best to get some experience with TWiki, Apache and Perl first.

Format of filenames

In your TWiki on Windows installation, it's worth remembering that:

Credits

Material in this cookbook is heavily based on the enormous number of contributions in TWiki:Codev.TWikiOnWindowsArchive and related topics - too many people to thank, but have a look at the contributor list to TWiki:Codev.TWikiOnWindowsArchive to get an idea!

People who've tested or reviewed this document and provided valuable feedback include:


ALERT! Comments welcome at TWiki:Codev.WindowsInstallCookbookComments

-- PeterThoeny - 30 Jan 2003


TWiki Upgrade Guide

Upgrade from the previous TWiki 01-Dec-2001 production release to TWiki 01-Feb-2003

Overview

This guide describes how to upgrade from TWiki 01-Dec-2001 to TWiki 01-Feb-2003. The new version involves several new features and numerous enhancements to the previous version.

Upgrade Requirements

Major Changes from TWiki 01-Dec-2001

Upgrade Procedure from 01-Dec-2001 to 01-Feb-2003 Release

The following steps describe the upgrade assuming that $TWIKIROOT is the root of your current 01-Dec-2001 release. As written this will require some downtime. A process for switching over without downtime is described at the end of this section.

  1. Back up and prepare:
  2. Update files in TWiki root:
  3. Update template files:
  4. Update script files:
  5. Update library files:
  6. Update data files:
  7. Adapt the other webs (all other than TWiki and _default):
  8. Update pub files:
  9. Update TWikiPreferences to authorize users to create webs:
  10. Verify installation:

Note: These steps assume a downtime during the time of upgrade. You could install the new version in parallel to the existing one and switch over in an instant without affecting the users. As a guideline, install the new version into $TWIKIROOT/bin1, $TWIKIROOT/lib1, $TWIKIROOT/templates1, $TWIKIROOT/data/TWiki1 (from data/TWiki), $TWIKIROOT/pub/TWiki1 (from pub/TWiki), and configure TWiki.cfg to point to the same data and pub directory like the existing installation. Once tested and ready to go, reconfigure $TWIKIROOT/bin1/setlib.cfg and $TWIKIROOT/lib1/TWiki.cfg, then rename $TWIKIROOT/bin to $TWIKIROOT/bin2, $TWIKIROOT/bin1 to $TWIKIROOT/bin. Do the same with the lib, templates and data/TWiki directories.

Known Issues

-- PeterThoeny - 01 Feb 2002
-- MartinRaabe? - 15 Jan 2003


TWiki User Authentication

TWiki site access control and user activity tracking options

TWiki does not authenticate users internally, it depends on the REMOTE_USER environment variable. This variable is set when you enable Basic Authentication (.htaccess) or SSL "secure server" authentication (https protocol).

TWiki uses visitor identification to keep track of who made changes to topics at what time and to manage a wide range of personal site settings. This gives a complete audit trail of changes and activity.

Authentication Options

No special installation steps are required if the server is already authenticated. If it isn't, you have three standard options for controlling user access:

  1. Forget about authentication to make your site completely public - anyone can browse and edit freely, in classic Wiki mode. All visitors are assigned the TWikiGuest default identity, so you can't track individual user activity.
  2. Use SSL (Secure Sockets Layer; HTTPS) to authenticate and secure the whole server.
  3. Use Basic Authentication (.htaccess) to control access by protecting key scripts: attach, edit=, installpasswd, preview, rename, save, upload using the .htaccess file. The TWikiInstallationGuide has step-by-step instructions.

Partial Authentication

Tracking by IP address is an experimental feature, enabled in lib/TWiki.cfg. It lets you combine open access to some functions, with authentication on others, with full user activity tracking:

Quick Authentication Test - Use the %WIKIUSERNAME% variable to return your current identity:

TWiki Username vs. Login Username

This section applies only if your TWiki site is installed on a server that is both authenticated and on an intranet.

TWiki internally manages two usernames: Login Username and TWiki Username.

TWiki can automatically map an Intranet (Login) Username to a TWiki Username, provided that the username pair exists in the TWikiUsers topic. This is also handled automatically when you register.

NOTE: To correctly enter a WikiName - your own or someone else's - be sure to include the Main web name in front of the Wiki username, followed by a period, and no spaces. Ex:
Main.WikiUsername or %MAINWEB%.WikiUsername
This points WikiUser to the TWiki.Main web, where user registration pages are stored, no matter which web it's entered in. Without the web prefix, the name appears as a NewTopic? everywhere but in the Main web.

Changing Passwords

Change and reset passwords using forms on regular pages. Use TWikiAccessControl to restrict use as required.

Change password

Forgot your old password? Then use ResetPassword instead. Please only use ResetPassword in case you really forgot your password. Thank you.

Your WikiName: **
Old password: **
New password: **
Retype new password: **
     (Fields marked ** are required)

After submitting this form your password will be changed.

Request for reset of password

Please only use this ResetPassword form in case you really forgot your password. Otherwise just change it using ChangePassword. Thank you.

Your WikiName: **
New password: **
Retype new password: **
     (Fields marked ** are required)

After submitting this form you will see a page with your new password appearing encrypted.

-- MikeMannix? - 19 May 2002


TWiki Access Control

Restricting read and write access to topics and webs, by Users and groups

TWikiAccessControl allows you restrict access to single topics and entire webs, by individual user and by user Groups, in three areas: view; edit & attach; and rename/move/delete. Access control, combined with TWikiUserAuthentication, lets you easily create and manage an extremely flexible, fine-grained privilege system.

An Important Control Consideration

Open, freeform editing is the essence of WikiCulture - what makes TWiki different and often more effective than other collaboration tools. For that reason, it is strongly recommended that decisions to restrict read or write access to a web or a topic are made with care - the more restrictions, the less Wiki in the mix. Experience shows that unrestricted write access works very well because:

As a collaboration guideline:

Users and Groups

Access control is based on the familiar concept of Users and Groups. Users are defined by their WikiNames. They can then be organized in unlimited combinations by inclusion in one or more user Groups. For convenience, Groups can also be included in other Groups.

Managing Users

A user can create an account in TWikiRegistration. The following actions are performed:

Users can be authenticated using Basic Authentication (htaccess) or SSL (secure server). In either case, TWikiUserAuthentication is required in order to track user identities, and use User and Group access control.

The default visitor name is TWikiGuest. This is the non-authenticated user.

Managing Groups

Groups are defined by group topics created in the Main web, like the TWikiAdminGroup. To create a new group:

  1. Edit TWikiGroups by entering a new topic with a name that ends in Group. Example:
  2. Set Preferences for two Variables in the new group topic:

Restricting Write Access

You can define who is allowed to make changes to a web or a topic.

Deny Editing by Topic

Denying editing of a topic also restricts file attachment; both privileges are assigned together.

Deny Editing by Web

Restricting web-level editing blocks creating new topics, changing topics or attaching files.

The same rules apply as for restricting topics, with these additions:

Restricting Rename Access

You can define who is allowed to rename, move or delete a topic, or rename a web.

Deny Renaming by Topic

To allow a user to rename, move or delete a topic, they also need write (editing) permission. They also need write access to change references in referring topics.

Deny Renaming by Web

You can define restrictions of who is allowed to rename a TWiki web.

The same rules apply as for topics, with these additions:

Restricting Read Access

You can define who is allowed to see a web.

Deny Viewing by Topic

ALERT! Technically it is possible to restrict read access to an individual topic based on DENYTOPICVIEW / ALLOWTOPICVIEW preferences variables, provided that the view script is authenticated. However this setup is not recommended since all content is searchable within a web - a search will turn up view restricted topics.

Deny Viewing by Web

You can define restrictions of who is allowed to view a TWiki web. You can restrict access to certain webs to selected Users and Groups, by:

Obfuscate Webs

The idea is to keep a web hidden by not publishing its URL and by preventing the all webs search option from accessing obfuscated webs. Do so by enabling the NOSEARCHALL variable in WebPreferences:

This setup can be useful to hide a new web until content its ready for deployment.

ALERT! Obfuscating webs is insecure, as anyone who knows the URL can access the web.

Authenticate all Webs and Restrict Selected Webs

Use the following setup to authenticate users for topic viewing in all webs and to restrict access to selected webs:

  1. Restrict view access to selected Users and Groups. Set one or both of these variables in its WebPreferences topic:
  2. Hide the web from an "all webs" search. Enable this restriction with the NOSEARCHALL variable in its WebPreferences topic:
  3. Add view to the list of authenticated scripts in the .htaccess file.

HELP This method only works if the view script is authenticated, which means that all Users have to login, even for read-only access. (An open guest account, like TWikiGuest, can get around this, allowing anyone to login to a common account with, for example, view-only access for public webs.) TWikiInstallationGuide has more on Basic Authentication, using the .htaccess file.

Authenticate and Restricting Selected Webs Only

Use the following setup to provide unrestricted viewing access to open webs, with authentication only on selected webs:

  1. Restrict view access to selected Users and Groups. Set one or both of these variables in its WebPreferences topic:
  2. Hide the web from an "all webs" search. Enable this restriction with the NOSEARCHALL variable in its WebPreferences topic:
  3. Enable the $doRememberRemoteUser flag in lib/TWiki.cfg as described in TWikiUserAuthentication. TWiki will now remember the IP address of an authenticated user.
  4. Copy the view script to viewauth (or better, create a symbolic link)
  5. Add viewauth to the list of authenticated scripts in the .htaccess file. The view script should not be listed in the .htaccess file.

When a user accesses a web where you enabled view restriction, TWiki will redirect from the view script to the viewauth script once (this happens only if the user has never edited a topic). Doing so will ask for authentication. The viewauth script shows the requested topic if the user could log on and if the user is authorized to see that web.

ALERT! Authenticating webs is not very secure, as there is a way to circumvent the read access restriction. It can be useful in certain situations - for example, to simplify site organization and clutter, by hiding low traffic webs - but is not recommended for securing sensitive content.

Hiding Control Settings

TIP To hide access control settings from normal browser viewing, place them in comment markers.

<!--
   * Set DENYTOPICCHANGE = Main.SomeGroup
-->

The SuperAdminGroup

By mistyping a user or group name in the ALLOWTOPICCHANGE setting, it's possible to lock a topic so that no-one can edit it from a browser. To avoid this, you can create Web-based superusers:

$superAdminGroup = "TWikiAdminGroup";

-- PeterThoeny - 04 May 2002
-- MikeMannix? - 12 May 2002


TWiki Text Formatting

Working in TWiki is as easy as typing in text - exactly like email. You don't need to know HTML, though you can use it if you prefer. Links to topics are created automatically when you enter WikiWords. And TWiki shorthand gives you all the power of HTML with a simple coding system that takes no time to learn. It's all layed out below - refer back to this page in a pop-up window from the Edit screen.

TWiki Editing Shorthand

Formatting Command: Example: You write: You get:
Paragraphs:
Blank lines will create new paragraphs.
1st paragraph

2nd paragraph
1st paragraph

2nd paragraph

Headings:
At least three dashes at the beginning of a line, followed by plus signs and the heading text. One plus creates a level 1 heading (most important), two pluses a level 2 heading; the maximum is level 6. Note: A Table of Content can be created automatically with the %TOC% variable, see TWikiVariables. Any heading text after !! is excluded from the TOC; for example, write ---+!! text if you do not want to list a header in the TOC.
---++ Sushi

---+++ Maguro

Sushi

Maguro

Bold Text:
Words get bold by enclosing them in * asterisks.
*Bold*
Bold
Italic Text:
Words get italic by enclosing them in _ underscores.
_Italic_
Italic
Bold Italic:
Words get _bold italic by enclosing them in _ double-underscores.
__Bold italic__
Bold italic
Fixed Font:
Words get shown in fixed font by enclosing them in = equal signs.
=Fixed font=
Fixed font
Bold Fixed Font:
Words get shown in bold fixed font by enclosing them in double equal signs.
==Bold fixed==
Bold fixed
Note: Make sure to "stick" the * _ = == signs to the words, that is, take away spaces.
_This works_,
_this not _
This works, _this not _
Verbatim Mode:
Surround code excerpts and other formatted text with <verbatim> and </verbatim> tags.
Note: Use <pre> and </pre> tags instead if you want that HTML code is interpreted.
Note: Each tag must be on a line by itself.
<verbatim>
class CatAnimal {
  void purr() {
    <code here>
  }
}
</verbatim>
class CatAnimal {
  void purr() {
    <code here>
  }
}
Separator:
At least three dashes at the beginning of a line.
-------

List Item:
Three spaces and an asterisk.
   * bullet item
  • bullet item
Nested List Item:
Six, nine, ... spaces and an asterisk.
      * nested stuff
    • nested stuff
Ordered List:
Three spaces and a number.
   1 Sushi
   1 Dim Sum
  1. Sushi
  2. Dim Sum
Definition List:
Three spaces, the term, a colon, a space, followed by the definition.
Note: Terms with spaces are not supported. In case you do have a term with more then one word, separate the words with dashes or with the &nbsp; non-breaking-space entity.
   Sushi: Japan
   Dim&nbsp;Sum: S.F.
Sushi
Japan
Dim Sum
S.F.
Table:
Optional spaces followed by the cells enclosed in vertical bars.
Note: | *bold* | cells are rendered as table headers.
Note: |   spaced   | cells are rendered center aligned.
Note: |     spaced | cells are rendered right aligned.
Note: | 2 colspan || cells are rendered as multi-span columns.
Note: In case you have a long row and you want it to be more readable when you edit the table you can split the row into lines that end with a '\' backslash character.
| *L* | *C* | *R* |
| A2 |  2  |  2 |
| A3 |  3  |  3 |
| multi span |||
| A4 | next | next |
L C R
A2 2 2
A3 3 3
multi span
A4 next next
WikiWord Links:
CapitalizedWordsStuckTogether (or WikiWords) will produce a link automatically.
Note: In case you want to link to a topic in a different TWiki web write Webname.TopicName.
WebNotify

Know.ReadmeFirst
WebNotify

ReadmeFirst

Forced Links:
You can create a forced internal link by enclosing words in double square brackets.
Note: Text within the brackets may contain optional spaces; the topic name is formed by capitalizing the initial letter and by removing the spaces; for example, [[text formatting FAQ]] links to topic TextFormattingFAQ. You can also refer to a different web and use anchors.
[[wiki syntax]]

[[Main.TWiki users]]
wiki syntax

Main.TWiki users

Specific Links:
Create a link where you can specify the link text and the link reference separately, using nested square brackets like [[reference][text]]. Internal link references (e.g. WikiSyntax) and external link references (e.g. http://TWiki.org/) are supported.
Note: The same Forced Links rules apply for internal link references.
Note: For external link references, you can simply use a space instead of ][ to separate the link URL from the descriptive text.
Note: Anchor names can be added as well, like [[WebHome#MyAnchor][go home]] and [[http://gnu.org/#Action][GNU Action]].
[[WikiSyntax][syntax]]

[[http://gnu.org][GNU]]

[[http://xml.org XML]]
syntax

GNU

XML

Anchors:
You can define a link reference inside a TWiki topic (called an anchor name) and link to that. To define an anchor write #AnchorName at the beginning of a line. The anchor name must be a WikiWord. To link to an anchor name use the [[MyTopic#MyAnchor]] syntax. You can omit the topic name if you want to link within the same topic.
[[WebHome#NotThere]]

[[#MyAnchor][Jump]]

#MyAnchor To here
WebHome#NotThere

Jump

To here

Prevent a Link:
Prevent a WikiWord from being linked by prepending it with the <nop> tag.
<nop>SunOS
SunOS
Disable Links:
You can disable automatic linking of WikiWords by surrounding text with <noautolink> and </noautolink> tags.
Note: Each tag must be on a line by itself.
Note: This also works for TWiki tables, but only if you add a blank line between the end of the table and the closing </noautolink> tag (known issue of the TablePlugin).
 <noautolink>
 RedHat &
 SuSE
 </noautolink>
RedHat & SuSE
Mailto: Links:
To create 'mailto:' links that have more descriptive link text, specify subject lines or message bodies, or omit the email address, you can write [[mailto:user@domain descriptive text]].
[[mailto:a@z.com Mail]]

[[mailto:?subject=Hi Hi]]
Mail

Hi

Using HTML

You can use just about any HTML tag without a problem - however, there are a few usability and technical considerations to keep in mind.

HTML and TWiki Usability

TWiki HTML Rendering

Hyperlinks

Being able to create links without any formatting required is a core TWiki feature, made possible with WikiWords. New TWiki linking rules are a simple extension of the syntax that provide a new set of flexible options.

Internal Links

External Links

TWiki Variables

Variables are names that are enclosed in percent signs % that are expanded on the fly.

TWikiPlugin Formatting Extensions

Plugins provide additional text formatting capabilities and can extend the functionality of TWiki into many other areas. For example, the optional SpreadSheetPlugin lets you create a spreadsheet with the same basic notation used in TWiki tables.

Available Plugins are located in the Plugins web on TWiki.org. Currently enabled plugins on this TWiki installation, as listed by %PLUGINDESCRIPTIONS%:

Check on current Plugin status and settings for this site in TWikiPreferences.

Common Editing Errors

TWiki formatting rules are fairly simple to use and quick to type. However, there are some things to watch out for, taken from the TextFormattingFAQ:

-- MikeMannix? - 02 Dec 2001
-- PeterThoeny - 01 Feb 2003


TWiki Variables

Special text strings expand on the fly to display user data or system info

TWikiVariables are text strings - %VARIABLE% - that expand into content whenever a page is opened. When a topic is rendered for viewing, VARIABLES are replaced by data, either user-entered, or info automatically generated by TWiki (like the date, or the current username). There are predefined variables, and Preference variables that you configure. You can also define custom variables, with new names and values.

Predefined Variables

Most predefined variables return values that were either set in the lib/twiki.cfg file, when TWiki was installed, or taken from server info (like current username, or date and time). Many of the variables let you format the appearance of the display results.

This version of TWiki - 04 Sep 2004 $Rev: 1742 $ - expands the following variables (enclosed in % percent signs):

Variable: Expanded to:
%WIKIHOMEURL% The base script URL of TWiki, is the link of the Home icon in the upper left corner, is http://your.domain.com/twiki
%SCRIPTURL% The script URL of TWiki, is http://wiki.arch.ethz.ch/caadtwiki/bin
%SCRIPTURLPATH% The path of the script URL of TWiki, is /caadtwiki/bin
%SCRIPTSUFFIX% The script suffix, ex: .pl, .cgi is
%PUBURL% The public URL of TWiki, is http://wiki.arch.ethz.ch/caadtwiki/pub
Example: You can refer to a file attached to another topic as %PUBURL%/%WEB%/OtherTopic/image.gif
%PUBURLPATH% The path of the public URL of TWiki, is /caadtwiki/pub
%ATTACHURL% The attachment URL of the current topic, is http://wiki.arch.ethz.ch/caadtwiki/pub/TWiki/TWikiVariables
Example: If you attach a file you can refer to it as %ATTACHURL%/image.gif
%ATTACHURLPATH% The path of the attachment URL of the current topic, is /caadtwiki/pub/TWiki/TWikiVariables
%URLPARAM{"name"}% Returns the value of a URL parameter. Note that there is a low risk that this variable could be misused for cross-scripting. Ex: %URLPARAM{"skin"}% returns print for a .../view/TWiki/TWikiVariables?skin=print URL. Is
%URLENCODE{"string"}% Encodes a string for use as a URL parameter. Ex: %URLENCODE{"spaced name"}% returns spaced%20name
%WIKITOOLNAME% The name of your TWiki site - TWiki
%WIKIVERSION% Your current TWiki version - 04 Sep 2004 $Rev: 1742 $
%USERNAME% Your login username - guest
%WIKINAME% Your Wiki username. Same as %USERNAME% if not defined in the TWikiUsers topic. Is guest
%WIKIUSERNAME% Your %WIKINAME% including the Main web name - always use full signatures - Main.guest
%MAINWEB% The web containing TWikiUsers, OfficeLocations and TWikiGroups is Main
%TWIKIWEB% The web containing all documentation and site-wide preference settings for TWiki - TWiki
%WEB% The current web is TWiki
%BASEWEB% The web name where the includes started, e.g. the web of the first topic of nested includes. Same as %WEB% in case there is no include.
%INCLUDINGWEB% The web name of the topic that includes the current topic - same as %WEB% if there is no INCLUDE.
%HOMETOPIC% The home topic in each web - WebHome
%NOTIFYTOPIC% The notify topic in each web - WebNotify
%WIKIUSERSTOPIC% The index topic of all registered users - TWikiUsers
%WIKIPREFSTOPIC% The site-wide preferences topic - TWikiPreferences
%WEBPREFSTOPIC% The local web preferences topic in each web - WebPreferences
%STATISTICSTOPIC% The web statistics topic WebStatistics
%TOPIC% The current topic name - TWikiVariables
%BASETOPIC% The name of the topic where a single or nested INCLUDE started - same as %TOPIC% if there is no INCLUDE.
%INCLUDINGTOPIC% The name of the topic that includes the current topic. Same as %TOPIC% in case there is no include.
%SPACEDTOPIC% The current topic name with added spaces, for regular expression search of Ref-By, is TWiki%20*Variables
%TOPICLIST{"format"}% Topic index of a web. The "format" defines the format of one topic item. It may include variables: The $name variable gets expanded to the topic name; the $web variable gets expanded to the name of the web. Parameters are format, separator and web:
Parameter: Description: Default:
"format" Format of one line, may include $name and $web variables "$name"
format="format" (Alternative to above) "$name"
separator=", " line separator "\n" (new line)
web="Name" Name of web Current web
Examples:
%TOPICLIST{"   * $web.$name"}% creates a bullet list of all topics.
%TOPICLIST{separator=", "}% creates a comma separated list of all topics.
%TOPICLIST{" <option>$name</option>"}% creates an option list (for drop down menus).
%WEBLIST{"format"}% Web index, ex: list of all webs. Hidden webs are excluded, e.g. webs with a NOSEARCHALL=on preference variable. The "format" defines the format of one web item. The $name variable gets expanded to the name of the web, $qname gets expanded to double quoted name, $marker to marker where web matches selection. Parameters are format, separator and web:
Parameter: Description: Default:
"format" Format of one line, may include $name variable "$name"
format="format" (Alternative to above) "$name"
separator=", " line separator "\n" (new line)
webs="public" comma sep list of Web, public expands to all non-hidden "public"
marker="selected" Text for $marker where item matches selection, otherwise equals "" "selected"
selection="%WEB%" Current value to be selected in list section="%WEB%"
Examples:
%WEBLIST{"   * [[$name.WebHome]]"}% creates a bullet list of all webs.
%WEBLIST{"<option $marker value=$qname>$name</option>" webs="Trash,public" selection="TWiki" separator=" "}% Dropdown of all public Webs + Trash Web, current Web highlighted.
%GMTIME% GM time, is 08 May 2009 - 00:57
%GMTIME{"format"}% Formatted GM time based on time variables.
Variable: Unit: Example
$seconds seconds 59
$minutes minutes 59
$hours hours 23
$day day of month 31
$month month in ISO format Dec
$mo 2 digit month 12
$year 4 digit year 1999
$ye 2 digit year 99
Variables can be shortened to 3 characters. Example:
%GMTIME{"$day $month, $year - $hour:$min:$sec"}% is
08 May, 2009 - 00:57:41
%SERVERTIME% Server time, is 08 May 2009 - 02:57
%SERVERTIME{"format"}% Formatted server time.
Example: %SERVERTIME{"$hou:$min"}% is 02:57
%HTTP_HOST% HTTP_HOST environment variable, is wiki.arch.ethz.ch
%REMOTE_ADDR% REMOTE_ADDR environment variable, is 129.132.212.2
%REMOTE_PORT% REMOTE_PORT environment variable, is 49206
%REMOTE_USER% REMOTE_USER environment variable, is
%INCLUDE{"page" ...}% Server side include to IncludeTopicsAndWebPages:
Parameter: Description: Default:
"SomeTopic" The name of a topic located in the current web, i.e. %INCLUDE{"WebNotify"}%  
"Web.Topic" A topic in another web, i.e. %INCLUDE{"TWiki.SiteMap"}%  
"http://..." A full qualified URL, i.e. %INCLUDE{"http://twiki.org/"}%  
pattern="..." A RegularExpression pattern to include a subset of a topic or page none
rev="1.2" Include a previous topic revision; N/A for URLs top revision
%STARTINCLUDE% If present in included topic, start to include text from this location up to the end, or up to the location of the %STOPINCLUDE% variable. A normal view of the topic shows everyting exept the %STARTINCLUDE% variable itself.
%STOPINCLUDE% If present in included topic, stop to include text at this location and ignore the remaining text. A normal view of the topic shows everyting exept the %STOPINCLUDE% variable itself.
%TOC% Table of Contents of current topic.
%TOC{"SomeTopic" ...}% Table of Contents. Shows a TOC that is generated automatically based on headings of a topic. Headings in WikiSyntax ("---++ text") and HTML ("<h2>text</h2>") are taken into account. Any heading text after "!!" is excluded from the TOC; for example, write "---+!! text" if you do not want to list a header in the TOC. Parameters are topic name, web and depth:
Parameter: Description: Default:
"TopicName" topic name Current topic
web="Name" Name of web Current web
depth="2" Limit depth of headings shown in TOC 6
Examples: %TOC{depth="2"}%, %TOC{"TWikiDocumentation" web="TWiki"}%
%SEARCH{"text" ...}% Inline search, shows a search result embedded in a topic. Parameters are the search term, web, scope, order and many more: [1]
Parameter: Description: Default:
"text" Search term. Is a regular expression or literal, depending on the regex parameter. For regular expressions ";" is used to mean and e.g. "search;agrep" will find all topic containing search and agrep. required
search="text" (Alternative to above) N/A
web="Name"
web="Main Know"
web="all"
Wiki web to search: A web, a list of webs separated by whitespace, or all webs. [2] Current web
scope="topic"
scope="text"
Search topic name (title) or in the text (body) of the topic Topic text (body)
order="topic"
order="modified"
order="editby"
order=
 "formfield(name)"
Sort the results of search by the topic names, last modified time, last editor, or named field of TWikiForms Sort by topic name
limit="all"
limit="16"
Limit the number of results returned All results
regex="on" RegularExpression search; also enables ";" as and Literal search
reverse="on" Reverse the direction of the search Ascending search
casesensitive="on" Case sensitive search Ignore case
nosummary="on" Show topic title only Show topic summary
bookview="on" BookView search, e.g. show complete topic text Show topic summary
nosearch="on" Suppress search string Show search string
noheader="on" Suppress search header
Topics: Changed: By:
Show search header
nototal="on" Do not show number of topics found Show number
header="..."
format="..."
Custom format results: see FormattedSearch for usage, variables & examples Results in table
Regular example: %SEARCH{"wiki" web="Main" scope="topic"}%
Formatted example: %SEARCH{"FAQ" scope="topic" nosearch="on" nototal="on" header="| *Topic: * | *Summary: * |" format="| $topic | $summary |"% (displays results in a table with header - details)
HELP If the TWiki:Plugins.TablePlugin is installed, you may set a %TABLE{}% variable just before the %SEARCH{}% to alter the output of a search. Example: %TABLE{ tablewidth="90%" }%
%METASEARCH{...}% Special search of meta data
Parameter: Description: Default:
type="topicmoved" What sort of search is required?
"topicmoved" if search for a topic that may have been moved
"parent" if searching for topics that have a specific parent i.e. its children
required
web="%WEB%" Wiki web to search: A web, a list of webs separated by whitespace, or all webs. required
topic="%TOPIC%" The topic the search relates to required
title="Title" Text that is prepended to any search results required
Example: %METASEARCH{type="topicmoved" web="%WEB%" topic="%TOPIC%" title="This topic used to exist and was moved to: "}%, you may want to use this in WebTopicViewTemplate and WebTopicNonWikiTemplate
%METASEARCH{type="parent" web="%WEB%" topic="%TOPIC%" title="Children: "}%
%VAR{"NAME" web="Web"}% Get a preference value from a web other then the current one. Example: To get %WEBBGCOLOR% of the Main web write %VAR{"WEBBGCOLOR" web="Main"}%, is #FFFFC0

[1] Note: The search form uses identical names for input fields.

[2] Note: A web can be excluded from a web="all" search if you define a NOSEARCHALL=on variable in its WebPreferences.

Preferences Variables

Additional variables are defined in the preferences ( site-level ( SL ) in TWikiPreferences, web-level ( WL ) in WebPreferences of each web, and user level ( UL ) preferences in individual user topics):

Variable: Level: What:
%WIKIWEBMASTER% SL Webmaster email address (sender of email notifications) , is caad-yearly@hbt.arch.ethz.ch
%WIKIWEBLIST% SL List of TWiki webs (in upper right corner of topics)
%WEBTOPICLIST% WL Common links of web (second line of topics)
%WEBCOPYRIGHT% SL , WL Copyright notice (bottom right corner of topics)
%WEBBGCOLOR% WL Background color of web
%NOSEARCHALL% WL Exclude web from a web="all" search (set variable to on for hidden webs)
%NEWTOPICBGCOLOR% SL , UL Background color of non existing topic. ( UL needs authentication for topic views )
%NEWTOPICFONTCOLOR% SL , UL Font color of non existing topic. ( UL needs authentication for topic views )
%EDITBOXWIDTH% SL , UL Horizontal size of edit box, is 70
%EDITBOXHEIGHT% SL , UL Vertical size of edit box, is 15
%RELEASEEDITLOCKCHECKBOX% SL , UL Default state of the "Release edit lock" (UnlockTopic) check box in preview. Checkbox is initially checked if Set RELEASEEDITLOCKCHECKBOX = checked="checked", or unchecked if empty. If checked, make sure to click on Edit to do more changes; do not go back in your browser to the edit page, or you risk that someone else will edit the topic at the same time! Value is: checked
%DONTNOTIFYCHECKBOX% SL , UL Default state of the "Minor Changes, Don't Notify" (DontNotify) check box in preview. Check box is initially checked if Set DONTNOTIFYCHECKBOX = checked="checked", or unchecked if empty. Value is: checked
%ATTACHLINKBOX% SL , UL Default state of the link check box in the attach file page. Check box is initially checked if value is set to CHECKED , unchecked if empty. If checked, a link is created to the attached file at the end of the topic. Value is:
%HTTP_EQUIV_ON_VIEW% SL http-equiv meta tags for view, rdiff, attach, search* scripts.
%HTTP_EQUIV_ON_EDIT% SL , UL http-equiv meta tags for edit script.
%HTTP_EQUIV_ON_PREVIEW% SL , UL http-equiv meta tags for preview script.
%DENYWEBCHANGE% WL List of users and groups who are not allowed to change topics in the TWiki web. (More in TWikiAccessControl)
%ALLOWWEBCHANGE% WL List of users and groups who are allowed to change topics in the TWiki web. (More in TWikiAccessControl)
%DENYTOPICCHANGE% (any topic) List of users and groups who are not allowed to change the current topic. (More in TWikiAccessControl)
%ALLOWTOPICCHANGE% (any topic) List of users and groups who are allowed to change the current topic. (More in TWikiAccessControl)
%DENYWEBRENAME% WL List of users and groups who are not allowed to rename topics in the TWiki web. (More in TWikiAccessControl)
%ALLOWWEBRENAME% WL List of users and groups who are allowed to rename topics in the TWiki web. (More in TWikiAccessControl)
%DENYTOPICRENAME% (any topic) List of users and groups who are not allowed to rename the current topic. (More in TWikiAccessControl)
%ALLOWTOPICRENAME% (any topic) List of users and groups who are allowed to rename the current topic. (More in TWikiAccessControl)
%FINALPREFERENCES% SL , WL List of preferences that are not allowed to be overridden by next level preferences

Note: There are some more useful variables defined in the TWikiPreferences like %BR% for line break, colors like %RED% for colored text and small icons like %H% for a HELP Help icon.

Setting Preferences

Creating Custom Variables

Example: Create a custom logo variable the TWiki web

-- PeterThoeny - 19 Jan 2003
-- MikeMannix? - 12 May 2002


File Attachments

Each topic can have one or more files of any type attached to it by using the Attach screen to upload (or download) files from your local PC. Attachments are stored under revision control: uploads are automatically backed up; all previous versions of a modified file can be retrieved.

What Are Attachments Good For?

File Attachments can be used to create powerful customized groupware solutions, like file sharing and document management systems, and quick Web page authoring.

Document Management System

File Sharing

Web Authoring

Uploading Files

Downloading Files

Moving Attachment Files

An attachment can be moved between topics.

Deleting Attachments

It is not possible to delete attached files directly. You can delete a topic, and its attachments with it.

Linking to Attached Files

File Attachment Contents Table

Files attached to a topic are displayed in a directory table, displayed at the bottom of the page, or optionally, hidden and accessed when you click Attach.

Attachment: Action: Size: Date: Who: Comment:
Sample.txt action 30 22 Jul 2000 - 19:37 PeterThoeny Just a sample
Smile.gif action 94 22 Jul 2000 - 19:38 PeterThoeny Smiley face

File Attachment Controls

Clicking on an Action link takes you to a new page that looks like this:

Attachment: Action: Size: Date: Who: Comment: Attribute:
Sample.txt action 30 22 Jul 2000 - 19:37 PeterThoeny Just a sample  
Smile.gif action 94 22 Jul 2000 - 19:38 PeterThoeny Smiley face  

Update attachment Sample.txt

Version: Action: Date: Who: Comment:
1.1 view 2001.08.30.09.28.56 PeterThoeny  

Previous
upload:
C:\DATA\Sample.txt (PeterThoeny)
Local file:
Comment:
Link: Create a link to the attached file at the end of the topic.
Hide file: Hide attachment in normal topic view.
Help text ...

Topic FileAttachment . { | | Move attachment | Cancel }

Known Issues


TWiki Forms

Form-based input in topics, with name/value pairs stored as Meta Data variables; choose one of multiple forms per web & topic

Overview

By adding form-based input to freeform content, you can structure topics with unlimited, easily searchable categories. When forms are enabled for a web and selected in a topic, a single form appears in edit mode, and the contents are rendered as a table when viewed on the display page. You can define unlimited forms per web. For each topic, you can select a template if more than one is defined, or remove forms entirely. Form input values are stored as TWikiMetaData; all data is saved.

Form Templates replace TWikiCategoryTables from the 01-Dec-2000 version of TWiki.

Main Changes from Category Tables

The Form Template system is a more powerful, flexible replacement for the original TWikiCategoryTable. Data from existing category tables can be imported directly.

Form Templates Category Tables
defined in topics defined in templates
many forms per web one table per web
saved as Meta Data saved as HTML
Change & Add Form buttons UseCategory radio button

Importing Category Table Data

On upgrading from the previous TWiki, a Form Template topic has to be built for each web that used a Category Table, recreating the fields and values from the old twikicatitems.tmpl. The replacement Form Template must be set as the first item in the WebPreferences variable WEBFORMS. If missing, pages will display, but attempting to edit results in an error message.

The new Form Template system should work with old Category Table data with no special conversion. Data is assigned to Meta variables the first time an imported topic is edited and saved in the new system.

TIP NOTE: If things aren't working correctly, there may be useful entries in data/warning.txt.

Defining a Form Template

A Form Template is simply a page containing your form, defined as a table where each row is one form field.

Form Template Elements

Defining a Form in One Topic

  1. Create a new topic with your form name: YourForm, ExpenseReport, InfoCategory, RecordReview, whatever you need.
  2. Create a TWiki table, with each column head representing one element of an entry field: Name, Type, Size, Values, and Tooltip message (see sample below).
  3. For each field, fill in a new line; for the type of field, select from the list.
  4. Save the topic (you can later choose to enable/disable individual forms).

Example: WebForm
| *Name* | *Type* | *Size* | *Values* | *Tooltip message* |
| Know.TopicClassification | select | 1 | Know.NoDisclosure, 
  Know.PublicSupported, Know.PublicFAQ | blah blah... |
| Know.OperatingSystem | checkbox | 3 | Know.OsHPUX, Know.OsLinux,
  Know.OsSolaris, Know.OsWin | blah blah... |
| Know.OsVersion | text | 16 | | blah blah... |

Name Type Size Values Tooltip message
TopicClassification select 1 NoDisclosure, PublicSupported, PublicFAQ blah blah...
OperatingSystem checkbox 3 OsHPUX, OsLinux, OsSolaris, OsWin blah blah...
OsVersion text 16   blah blah...

Defining a Form with Multiple Topics

Forms can also be defined by using form templates that retrieve field values from one or more separate topics:

Example: WebFormTemplate

Enabling Forms by Web

Forms are enabled on a per web basis. The WEBFORMS variable in WebPreferences is optional and defines a list of possible form templates. Example:

Including Forms in New Topics

Setting Up Multiple Form Options

Form Data Storage

The form topic name, fields and values are stored as TWikiMetaData - the order of the field/value pairs is the same as in the template.

Using Form Data

TWikiForms accept user-input data, stored as TWikiMetaData. Meta data also contains program-generated info about changes, attachments, etc. To find, format and display form and other meta data, see TWikiMetaData, SEARCH and METASEARCH variables in TWikiVariables, and TWiki Formatted Search for various options.

-- JohnTalintyre - 16 Aug 2001
-- MikeMannix? - 05 Jan 2002


TWiki Templates

Definition of the templates used to render all HTML pages displayed in TWiki

Overview

The new modular template system offers flexible, easy control over the layout of all TWiki pages. The master template approach groups parts that are shared by several templates - like headers and footers - in a common file. Special variables allow individual layouts to include parts from a master template - variables are mixed with regular HTML markup for template-specific content. Templates are used to define page layout, and also to supply default content for new pages.

Major changes from the previous template system

Where the old templates were each complete HTML documents, the new templates are defined using variables to include template parts from a master file. You can now change one instance of a common element to update all occurrences; previously, every affected template had to be updated. This simplifies the conversion of templates into XHTML format, and provides a more versatile solution for templates and for TWikiSkins. The new system:

How Template Variables Work

Types of Template

There are three types of template:

Master Templates

Common parts, appearing in two or more templates, can be defined in a master template and then shared by others: twiki.tmpl is the default master template.

Template variable: Defines:
%TMPL:DEF{"sep"}% "|" separator
%TMPL:DEF{"htmldoctype"}% Start of all HTML pages
%TMPL:DEF{"standardheader"}% Standard header (ex: view, index, search)
%TMPL:DEF{"simpleheader"}% Simple header with reduced links (ex: edit, attach, oops)
%TMPL:DEF{"standardfooter"}% Footer, excluding revision and copyright parts
%TMPL:DEF{"oops"}% Skeleton of oops dialog

HTML Page Templates

TWiki uses HTML template files for all actions, like topic view, edit, and preview. This allows you to change the look and feel of all pages by editing just a few template files.

Templates are in the twiki/templates directory. As an example, twiki/templates/view.tmpl is the template file for the twiki/bin/view script. Templates can be overloaded by individual webs. The following search order applies:

  1. twiki/templates/$webName/$scriptName.tmpl
  2. twiki/templates/$scriptName.tmpl

HELP NOTE: TWikiSkins can be defined to overload the standard templates.

Special variables are used in templates, especially in view, to display meta data.

Template Topics

Template topics define the default text for new topics. There are three types of template topic:

Topic Name: What it is:
WebTopicViewTemplate Error page shown when you try to view a nonexistent topic
WebTopicNonWikiTemplate Alert page shown when you try to view a nonexistent topic with a non-WikiName
WebTopicEditTemplate Default text shown when you create a new topic.
All template topics are located in the TWiki web. The WebTopicEditTemplate can be overloaded. When you create a new topic, TWiki locates a topic to use as a content template according to the following search order:

  1. A topic name specified by the templatetopic CGI parameter.
  2. WebTopicEditTemplate in the current web
  3. WebTopicEditTemplate in the TWiki web

Edit Template Topics and Variable Expansion

The following variables get expanded when a user creates a new topic based on a template topic:

Variable: Description:
%DATE% Current date, e.g. 08 May 2009
%WIKIUSERNAME% User name, e.g. Main.guest
%URLPARAM{"name"}% Value of a named URL parameter
%NOP% A no-operation variable that gets removed. Useful to prevent a SEARCH from hitting an edit template topic; also useful to escape a variable like %URLPARAM%NOP%{...}%
%NOP{ ... }% A no-operation text that gets removed. Useful to write-protect an edit template topic, but not the topics based this template topic. See notes below. Example:
%NOP{
   * Set ALLOWTOPICCHANGE = Main.TWikiAdminGroup
}%

Notes:

All other variables are unchanged, e.g. are carried over "as is" into the new topic.

Template Topics in Action

Here is an example for creating new topics based on a specific template topic:

The above form asks for a topic name. A hidden input tag named templatetopic specifies ExampleTopicTemplate as the template topic to use. Here is the HTML source of the form:

<form name="new" action="%SCRIPTURLPATH%/edit%SCRIPTSUFFIX%/%INTURLENCODE{"%WEB%"}%/">
   * New example topic: 
     <input type="text" name="topic" value="ExampleTopic%SERVERTIME{$yearx$mox$day}%" size="23" />
     <input type="hidden" name="templatetopic" value="ExampleTopicTemplate" />
     <input type="hidden" name="onlywikiname" value="on" />
     <input type="submit" value="Create" />
     (date format is <nop>YYYYxMMxDD)
</form>

The onlywikiname parameter enforces WikiWords for topic names.

TIP TIP: You can use the %WIKIUSERNAME% and %DATE% variables in your topic templates to include the signature of the person creating a new topic. The variables are expanded into fixed text when a new topic is created. The standard signature is:
-- %WIKIUSERNAME% - %DATE%

Templates by Example

Attached is an example of an oops based template oopsbase.tmpl and an example oops dialog oopstest.tmpl based on the base template. %A% NOTE: This isn't the release version, just a quick, simple demo.

Base template oopsbase.tmpl

The first line declares a delimiter variable called "sep", used to separate multiple link items. The variable can be called anywhere by writing %TMPL:P{"sep"}%

%TMPL:DEF{"sep"}% | %TMPL:END%
<html>
<head>
  <title> %WIKITOOLNAME% . %WEB% . %TOPIC% %.TMPL:P{"titleaction"}%</title>
  <base href="%SCRIPTURL%/view%SCRIPTSUFFIX%/%WEB%/%TOPIC%">
  <meta name="robots" content="noindex">
</head>
<body bgcolor="#FFFFFF">
<table width="100%" border="0" cellpadding="3" cellspacing="0">
  <tr>
    <td bgcolor="%WEBBGCOLOR%" rowspan="2" valign="top" width="1%">
      <a href="%WIKIHOMEURL%">
      <img src="%PUBURLPATH%/wikiHome.gif" border="0"></a>
    </td>
    <td>
      <b>%WIKITOOLNAME% . %WEB% . </b><font size="+2">
      <B>%TOPIC%</b> %TMPL:P{"titleaction"}%</font>
    </td>
  </tr>
  <tr bgcolor="%WEBBGCOLOR%">
    <td colspan="2">
      %TMPL:P{"webaction"}%
    </td>
  </tr>
</table>
--- ++ %TMPL:P{"heading"}%
%TMPL:P{"message"}%
<table width="100%" border="0" cellpadding="3" cellspacing="0">
  <tr bgcolor="%WEBBGCOLOR%">
    <td valign="top">
      Topic <b>%TOPIC%</b> . {
        %TMPL:P{"topicaction"}%
      }
    </td>
  </tr>
</table>
</body>

Test template oopstest.tmpl

Each oops template basically just defines some variables and includes the base template that does the layout work.

%TMPL:DEF{"titleaction"}% (test =titleaction=) %TMPL:END%
%TMPL:DEF{"webaction"}% test =webaction= %TMPL:END%
%TMPL:DEF{"heading"}%
Test heading %TMPL:END%
%TMPL:DEF{"message"}%
Test =message=. Blah blah blah blah blah blah blah blah blah blah blah...

   * Some more blah blah blah blah blah blah blah blah blah blah...
   * Param1: %PARAM1%
   * Param2: %PARAM2%
   * Param3: %PARAM3%
   * Param4: %PARAM4%
%TMPL:END%
%TMPL:DEF{"topicaction"}%
Test =topicaction=:
[[%WEB%.%TOPIC%][OK]] %TMPL:P{"sep"}%
[[%TWIKIWEB%.TWikiRegistration][Register]] %TMPL:END%
%TMPL:INCLUDE{"oopsbase"}%

Sample screen shot of oopstest.tmpl

With URL: .../bin/oops/Sandbox/TestTopic2?template=oopstest&param1=WebHome&param2=WebNotify

testscreen.gif

Known Issues

-- PeterThoeny - 01 Feb 2003
-- MikeMannix - 14 Sep 2001
-- TWiki:Main/DavidLeBlanc - 11 Mar 2002


TWiki Skins

Skins overlay regular templates with alternate header/footer layouts; topic text is not affected

Overview

Skins are customized TWikiTemplates files. You can use skins to change the look of a TWiki topic, for example, the layout of the header and footer. Rendered text between header and footer does not change. You can also use skins to define an alternate view, like a view optimized for printing.

Defining Skins

Skin files are located in the twiki/templates directory and are named with the syntax: <scriptname>.<skin>.tmpl. For example, the Printable skin for the view template is view.print.tmpl.

Use the existing TWikiTemplates (like view.tmpl) or skin files as a base for your own skin, name it for example view.myskin.tmpl.

Variables in Skins

You can use template variables, TWikiVariables, and other predefined variables to compose your skins. Some commonly used variables in skins:

Variable: Expanded to:
%WIKILOGOURL% Link of page logo
%WIKILOGOIMG% Image URL of page logo
%WIKILOGOALT% Alt text of page logo
%WEBBGCOLOR% Web specific background color, defined in the WebPreferences
%WIKITOOLNAME% The name of your TWiki site
%SCRIPTURL% The script URL of TWiki
%SCRIPTSUFFIX% The script suffix, ex: .pl, .cgi
%WEB% The name of the current web. Note: It is recommended to URL-encode the variable in form actions with %INTURLENCODE{"%WEB%"}% for proper handling in an internationalized environment
%TOPIC% The name of the current topic. Note: It is recommended to URL-encode the variable in form actions with %INTURLENCODE{"%TOPIC%"}% for proper handling in an internationalized environment
%WEBTOPICLIST% Common links of current web, defined in the WebPreferences. It includes a #GoBox
%TEXT% The topic text, e.g. the content that can be edited
%META{"form"}% TWikiForm, if any
%META{"attachments"}% FileAttachment table
%META{"parent"}% The topic parent
%EDITTOPIC% Edit link
%REVTITLE% The revision title, if any, ex: (r1.6)
%REVINFO% Revision info, ex: r1.6 - 24 Dec 2002 - 08:12 GMT - Main.guest
%WEBCOPYRIGHT% Copyright notice, defined in the WebPreferences

The "Go" Box and Navigation Box

The %WEBTOPICLIST% includes a "Go" box to jump to a topic. The box also understand URLs, e.g. you can type http://www.google.com/ to jump to an external web site. The feature is handy if you build a skin that has a select box of frequently used links, like Intranet home, employee database, sales database and such. A little JavaScript gets into action on the onSelect method of the select tag to fill the selected URL into the "Go" box field, then submits the form.

Here is an example form that has a select box and the "Go" box for illustration purposes. You need to have JavaScript enabled for this to work:

Bare bones header for demo only
Welcome | Register | Changes | Topics | Index | Search | Go

Packaging and Publishing Skins

See TWiki:Plugins/SkinPackagingHowTo

Activating Skins

A skin can be activated in two ways:

The ?skin=name URL parameter overrides the SKIN Preference value.

-- PeterThoeny - 05 Jan 2003


TWiki Formatted Search Results

Inline search feature allows flexible formatting of search result

The %SEARCH{...}% variable documented in TWikiVariables has a fixed format for the search result, that is, a table consisting of topic names and topic summaries. Use the format="..." parameter to specify a customized format of the search result. The string of the format parameter is typically a bullet list or table row containing variables (such as %SEARCH{ "food" format="| $topic | $summary |" }%).

Syntax

Two parameters can be used to specify a customized search result:

1. header="..." parameter

Use the header parameter to specify the header of a search result. It should correspond to the format of the format parameter. This parameter is optional.
Example: header="| *Topic:* | *Summary:* |"

2. format="..." parameter

Use the format parameter to specify the format of one search hit.
Example: format="| $topic | $summary |"

Variables that can be used in the format string:

Name: Expands To:
$web Name of the web
$topic Topic name
$topic(20) Topic name, "- " hyphenated each 20 characters
$topic(30, -<br />) Topic name, hyphenated each 30 characters with separator "-<br />"
$topic(40, ...) Topic name, shortended to 40 characters with "..." indication
$text Formatted topic text
$locked LOCKED flag (if any)
$date Time stamp of last topic update, like 08 May 2009 - 00:57
$isodate Time stamp of last topic update, like 2009-05-08T00:57Z
$rev Number of last topic revision, like 1.4
$wikiusername Wiki user name of last topic update, like Main.JohnSmith
$username User name of last topic update, like JohnSmith
$summary Topic summary
$formfield(name) The field value of a form field; for example, $formfield(TopicClassification) would get expanded to PublicFAQ. This applies only to topics that have a TWikiForm
$formfield(name, 10) Form field value, "- " hyphenated each 10 characters
$formfield(name, 20, -<br />) Form field value, hyphenated each 20 characters with separator "-<br />"
$formfield(name, 30, ...) Form field value, shortended to 30 characters with "..." indication
$pattern(reg-exp) A regular expression pattern to extract some text from a topic. For example, $pattern(.*?\*.*?Email\:\s*([^\n\r]+).*) extracts the email address from a bullet of format * Email: ....
$n or $n() New line
$nop or $nop() Is a "no operation". This variable gets removed; useful for nested search
$quot Double quote ("). Alternatively write \" to escape it
$percnt Percent sign (%)
$dollar Dollar sign ($)

Note: For $pattern(reg-exp), specify a RegularExpression that scans from start to end and contains the text you want to keep in parenthesis, like $pattern(.*?(from here.*?to here).*). You need to make sure that the integrity of a web page is not compromised; for example, if you include a table make sure to include everything including the table end tag.

Examples

Bullet list showing topic name and summary

Write this:

%SEARCH{ "FAQ" scope="topic" nosearch="on" nototal="on" header="   * *Topic: Summary:*" format="   * [[$topic]]: $summary" }%

To get this:

Table showing form field values of topics with a form

Write this in the Know web:

| *Topic:* | *OperatingSystem:* | *OsVersion:* |
%SEARCH{ "[T]opicClassification.*?value=\"[P]ublicFAQ\"" scope="text" regex="on" nosearch="on" nototal="on" format="| [[$topic]] | $formfield(OperatingSystem) | $formfield(OsVersion) |" }%

To get this:

Topic: OperatingSystem: OsVersion:
IncorrectDllVersionW32PTH10DLL OsWin 95/98
WinDoze95Crash OsWin 95

Extract some text from a topic using regular expression

Write this:

%SEARCH{ "__Back to\:__ TWikiFAQ" scope="text" regex="on" nosearch="on" nototal="on" header="TWiki FAQs:" format="   * $pattern(.*?FAQ\:[\n\r]*([^\n\r]+).*) [[$topic][Answer...]]" }%

To get this:

TWiki FAQs:

Nested Search

Search can be nested. For example, search for some topics, then form a new search for each topic found in the first search. The idea is to build the nested search string using a formatted search in the first search.

Here is an example. Let's search for all topics that contain the word "culture" (first search), and let's find out where each topic found is linked from (second search).

Write this:

%SEARCH{ "culture" format="   * $topic is referenced by:$n      * $percntSEARCH{ \"$topic\" format=\"   $dollartopic\" nosearch=\"on\" nototal=\"on\" }$nop%" nosearch="on" nototal="on" }%

To get this:

-- PeterThoeny - 16 May 2002


TWiki Meta Data

Additional topic data, program-generated or from TWikiForms, is stored in META variable name/value pairs

Overview

TWikiMetaData uses META variables to store topic data that's separate from the main free-form content. This includes program-generated info like FileAttachment and topic movement data, and user-defined TWikiForms info. Use META variables to format and display Meta Data.

Meta Data Syntax

Example of Format
%META:TOPICINFO{version="1.6" date="976762663" author="PeterThoeny" format="1.0"}%
   text of the topic
%META:TOPICMOVED{from="Codev.OldName" to="Codev.NewName"
   by="JohnTalintyre" date="976762680"}%
%META:TOPICPARENT{name="NavigationByTopicContext"}%
%META:FILEATTACHMENT{name="Sample.txt" version="1.3" ... }%
%META:FILEATTACHMENT{name="Smile.gif" version="1.1" ... }%
%META:FORM{name="WebFormTemplate"}%
%META:FIELD{name="OperatingSystem" value="OsWin"}%
%META:FIELD{name="TopicClassification" value="PublicFAQ"}%

Meta Data Specifications

The current version of Meta Data is 1.0, with support for the following variables.

META:TOPICINFO

Key Comment
version Same as RCS version
date integer, unx time, seconds since start 1970
author last to change topic, is the REMOTE_USER
format Format of this topic, will be used for automatic format conversion

META:TOPICMOVED

This is optional, exists if topic has ever been moved. If a topic is moved more than once, only the most recent META:TOPICMOVED meta variable exists in the topic, older ones are to be found in the rcs history.

%META:TOPICMOVED{from="Codev.OldName" to="Codev.NewName" by="talintj" date="976762680"}%

Key Comment
from Full name, i.e., web.topic
to Full name, i.e., web.topic
by Who did it, is the REMOTE_USER, not WikiName
date integer, unx time, seconds since start 1970

Notes:

META:TOPICPARENT

Key Comment
name The topic from which this was created, WebHome if done from Go, othewise topic where ? or form used. Normally just topic, but is full web.topic format if parent is in a different Web. Renaming a Web will then only break a few of these references or they can be scanned and fixed.

META:FILEATTACHMENT

Key Comment
name Name of file, no path. Must be unique within topic
version Same as RCS revision
path Full path file was loaded from
size In bytes
date integer, unx time, seconds since start 1970
user the REMOTE_USER, not WikiName
comment As supplied when file uploaded
attr h if hidden, optional

Extra fields that are added if an attachment is moved:

Key Comment
movedfrom full topic name - web.topic
movedby the REMOTE_USER, not WikiName
movedto full topic name - web.topic
moveddate integer, unx time, seconds since start 1970

META:FORM

Key Comment
name A topic name - the topic represents one of the TWikiForms. Can optionally include the web name (i.e., web.topic), but doesn't normally

META:FIELD

Should only be present if there is a META:FORM entry. Note that this data is used when viewing a topic, the form template definition is not read.

Key Name
name Ties to entry in TWikiForms template, is title with all bar alphanumerics and . removed
title Full text from TWikiForms template
value Value user has supplied via form

Recommended Sequence

There is no absolute need for Meta Data variables to be listed in a specific order within a topic, but it makes sense to do so a couple of good reasons:

The recommended sequence is:

Viewing Meta Data in Page Source

When viewing a topic the Raw Text link can be clicked to show the text of a topic (i.e., as seen when editing). This is done by adding raw=on to URL. raw=debug shows the meta data as well as the topic data, ex: debug view for this topic

Rendering Meta Data

Meta Data is rendered with the %META% variable. This is mostly used in the view, preview and edit scripts.

Current support covers:

Variable usage: Comment:
%META{"form"}% Show form data, see TWikiForms.
%META{"attachments"}% Show attachments, except for hidden ones. Options:
all="on": Show all attachments, including hidden ones.
%META{"moved"}% Details of any topic moves.
%META{"parent"}% Show topic parent. Options:
dontrecurse="on": By default recurses up tree, at some cost.
nowebhome="on": Suppress WebHome.
prefix="...": Prefix for parents, only if there are parents, default "".
suffix="...": Suffix, only appears if there are parents, default "".
separator="...": Separator between parents, default is " > ".

Known Issues

At present, there is no Meta Data support for Plugins. However, the format is readily extendable and the Meta.pm code that supports the format needs only minor alteration.

-- JohnTalintyre - 29 Aug 2001
-- MikeMannix - 03 Dec 2001
-- PeterThoeny - 10 Jan 2002


TWiki Plugins

Plug-in enhanced feature add-ons, with a Plugin API for developers

Overview

You can add Plugins to extend TWiki's functionality, without altering the core program code. A plug-in approach lets you:

Everything to do with TWiki Plugins - demos, new releases, downloads, development, general discussion - is available at TWiki.org, in the TWiki:Plugins web.

Preinstalled Plugins

TWiki comes with three Plugins as part of the standard installation.

Installing Plugins

Each TWikiPlugin comes with full documentation: step-by-step installation instructions, a detailed description of any special requirements, version details, and a working example for testing.

Most Plugins can be installed in three easy steps, with no programming skills required:

  1. Download the zip file containing the Plugin, documentation, and any other required files, from TWiki:Plugins.
  2. Distribute the files to their proper locations - unzip the zip archive in your TWiki installation directory - if have a standard TWiki installation, this will distribute automatically. Otherwise, place the files according to the directory paths listed on the Plugin top in TWiki:Plugins.
  3. Check the demo example on the Plugin topic: if it's working, the installation was fine!

Special Requests: Some Plugins need certain Perl modules to be preinstalled on the host system. Plugins may also use other resources, like graphics, other modules, applications, templates. In these cases, detailed instructions are in the Plugin documentation.

Each Plugin has a standard release page, located in the TWiki:Plugins web at TWiki.org. In addition to the documentation topic (SomePlugin), there's a separate development page.

On-Site Pretesting

To test new Plugins on your installation before making them public, you may want to use one of these two approaches:

Managing Plugins

When you finish installing a Plugin, you should be able to read the user instructions and go. In fact, some Plugins require additional settings or offer extra options that you have to select. Also, you may want to make a Plugin available only in certain webs, or temporarily disable it. And may want to list all available Plugins in certain topics. You can handle all of these management tasks with simple procedures.

Setting Preferences

Installed Plugins can be toggled on or off, site-wide or by web, through TWikiPreferences and individual WebPreferences:

Plugin execution order in TWiki is determined by searching Plugin topics in a specific sequence: First, full web.topicname name, if specified in INSTALLEDPLUGINS; next, the TWiki web is searched; and finally, the current web.

Plugin-specific settings are done in individual Plugin topics. Two settings are standard for each Plugin:

  1. One line description, used to form the bullets describing the Plugins in the TextFormattingRules topic:
  2. Debug Plugin, output can be seen in data/debug.txt. Set to 0=off or 1=on:

Listing Active Plugins

Plugin status variables let you list all active Plugins wherever needed. There are two list formats:

DEMO: Automatically List Active Plugins Using Variables

Using %ACTIVATEDPLUGINS%:
On this TWiki site, the active Plugins are: DefaultPlugin, EditTablePlugin, InterwikiPlugin, TablePlugin.

Using %PLUGINDESCRIPTIONS%:
You can use any of these active TWiki Plugins:

The TWiki Plugin API

The Application Programming Interface (API) for TWikiPlugins provides the specifications for hooking into the core TWiki code from your external Perl Plugin module. The Plugin API is new to the Production version of TWiki with the 01-Sep-2001 release.

Available Core Functions

The TWikiFuncModule (lib/TWiki/Func.pm) implements ALL official Plugin functions. Plugins should ONLY use functions published in this module.

ALERT! If you use functions not in Func.pm, you run the risk of creating security holes. Also, your Plugin will likely break and require updating when you upgrade to a new version of TWiki.

Predefined Hooks

In addition to TWiki core functions, Plugins can use predefined hooks, or call backs, listed in the lib/TWiki/Plugins/EmptyPlugin.pm module.

Plugin Version Detection

To eliminate the incompatibility problems bound to arise from active open Plugin development, a Plugin versioning system and an API GetVersion detection routine are provided for automatic compatibility checking.

Creating Plugins

With a reasonable knowledge of the Perl scripting language, you can create new Plugins or modify and extend existing ones. Basic plug-in architecture uses an Application Programming Interface (API), a set of software instructions that allow external code to interact with the main program. The TWiki Plugin API Plugins by providing a programming interface for TWiki.

The DefaultPlugin Alternative

Anatomy of a Plugin

A basic TWiki Plugin consists of two elements:

The Perl module can be a block of code that connects with TWiki alone, or it can include other elements, like other Perl modules (including other Plugins), graphics, TWiki templates, external applications (ex: a Java applet), or just about anything else it can call. In particular, files that should be web-accessible (graphics, Java applets ...) are best placed as attachments of the MyFirstPlugin topic. Other needed Perl code is best placed in a lib/TWiki/Plugins/MyFirstPlugin/ directory.

The Plugin API handles the details of connecting your Perl module with main TWiki code. When you're familiar with the Plugin API, you're ready to develop Plugins.

Creating the Perl Module

Copy file lib/TWiki/Plugins/EmptyPlugin.pm to <name>Plugin.pm. The EmptyPlugin.pm module contains mostly empty functions, so it does nothing, but it's ready to be used. Customize it. Refer to the Plugin API specs for more information.

If your Plugin uses its own modules and objects, you must include the name of the Plugin in the package name. For example, write Package MyFirstPlugin::Attrs; instead of just Package Attrs;. Then call it using:

  use TWiki::Plugins::MyFirstPlugin::Attrs;
  $var = MyFirstPlugin::Attrs->new();

Writing the Documentation Topic

The Plugin documentation topic contains usage instructions and version details. It serves the Plugin files as FileAttachments for downloading. (The doc topic is also included in the distribution package.) To create a documentation topic:

  1. Copy the Plugin topic template from TWiki.org. To copy the text, go to TWiki:Plugins/PluginPackage and:
  2. Customize your Plugin topic.
  3. Save your topic, for use in packaging and publishing your Plugin.

OUTLINE: Doc Topic Contents
Check the Plugins web on TWiki.org for the latest Plugin doc topic template. Here's a quick overview of what's covered:

Syntax Rules: <Describe any special text formatting that will be rendered.>"

Example: <Include an example of the Plugin in action. Possibly include a static HTML version of the example to compare if the installation was a success!>"

Plugin Global Settings: <Description and settings for custom Plugin %VARIABLES%, and those required by TWiki.>"

Plugin Installation Instructions: <Step-by-step set-up guide, user help, whatever it takes to install and run, goes here.>"

Plugin Info: <Version, credits, history, requirements - entered in a form, displayed as a table. Both are automatically generated when you create or edit a page in the TWiki:Plugins web.>"

Packaging for Distribution

A minimum Plugin release consists of a Perl module with a WikiName that ends in Plugin, ex: MyFirstPlugin.pm, and a documentation page with the same name(MyFirstPlugin.txt).

  1. Distribute the Plugin files in a directory structure that mirrors TWiki. If your Plugin uses additional files, include them ALL:
  2. Create a zip archive with the Plugin name (MyFirstPlugin.zip) and add the entire directory structure from Step 1. The archive should look like this:

Publishing for Public Use

You can release your tested, packaged Plugin to the TWiki community through the TWiki:Plugins web. All Plugins submitted to TWiki.org are available for download and further development in TWiki:Plugins. Publish your Plugin in three steps:

  1. Post the Plugin documentation topic in the TWiki:Plugins web:
  2. Attach the distribution zip file to the topic, ex: MyFirstPlugin.zip
  3. Link from the doc page to a new, blank page named after the Plugin, and ending in Dev, ex: MyFirstPluginDev. This is the discussion page for future development. (User support for Plugins is handled in TWiki:Support.)

-- AndreaSterbini - 29 May 2001
-- PeterThoeny - 29 Jan 2003
-- MikeMannix - 03 Dec 2001


TWiki::Func Module Documentation

Official list of stable TWiki functions for Plugin developers

Description

This module defines official funtions that Plugins and add-on scripts can use to interact with the TWiki engine and content.

Plugins should only use functions published in this module. If you use functions in other TWiki libraries you might impose a security hole and you will likely need to change your Plugin when you upgrade TWiki.

Functions: CGI Environment

getSessionValue( $key ) ==> $value

Description: Get a session value from the Session Plugin (if installed)
Parameter: $key Session key
Return: $value Value associated with key; empty string if not set; undef if session plugin is not installed

setSessionValue( $key, $value ) ==> $result

Description: Set a session value via the Session Plugin (if installed)
Parameter: $key Session key
Parameter: $value Value associated with key
Return: $result "1" if success; undef if session plugin is not installed

getSkin( ) ==> $skin

Description: Get the name of the skin, set by the SKIN preferences variable or the skin CGI parameter
Return: $skin Name of skin, e.g. "gnu". Empty string if none

getUrlHost( ) ==> $host

Description: Get protocol, domain and optional port of script URL
Return: $host URL host, e.g. "http://example.com:80"

getScriptUrl( $web, $topic, $script ) ==> $url

Description: Compose fully qualified URL
Parameter: $web Web name, e.g. "Main"
Parameter: $topic Topic name, e.g. "WebNotify"
Parameter: $script Script name, e.g. "view"
Return: $url URL, e.g. "http://example.com:80/cgi-bin/view.pl/Main/WebNotify"

getScriptUrlPath( ) ==> $path

Description: Get script URL path
Return: $path URL path of TWiki scripts, e.g. "/cgi-bin"

getViewUrl( $web, $topic ) ==> $url

Description: Compose fully qualified view URL
Parameter: $web Web name, e.g. "Main". The current web is taken if empty
Parameter: $topic Topic name, e.g. "WebNotify"
Return: $url URL, e.g. "http://example.com:80/cgi-bin/view.pl/Main/WebNotify"

getOopsUrl( $web, $topic, $template, $param1, $param2, $param3, $param4 ) ==> $url

Description: Compose fully qualified "oops" dialog URL
Parameter: $web Web name, e.g. "Main". The current web is taken if empty
Parameter: $topic Topic name, e.g. "WebNotify"
Parameter: $template Oops template name, e.g. "oopslocked"
Parameter: $param1 ... $param4 Parameter values for %PARAM1% ... %PARAM4% variables in template, optional
Return: $url URL, e.g. "http://example.com:80/cgi-bin/oops.pl/ Main/WebNotify?template=oopslocked&param1=joe"

getPubUrlPath( ) ==> $path

Description: Get pub URL path
Return: $path URL path of pub directory, e.g. "/pub"

getCgiQuery( ) ==> $query

Description: Get CGI query object. Important: Plugins cannot assume that scripts run under CGI, Plugins must always test if the CGI query object is set
Return: $query CGI query object; or 0 if script is called as a shell script

writeHeader( $query )

Description: Prints a basic content-type HTML header for text/html to standard out
Parameter: $query CGI query object
Return: none

redirectCgiQuery( $query, $url )

Description: Redirect to URL
Parameter: $query CGI query object
Parameter: $url URL to redirect to
Return: none, never returns

Functions: Preferences

extractNameValuePair( $attr, $name ) ==> $value

Description: Extract a named or unnamed value from a variable parameter string
Parameter: $attr Attribute string
Parameter: $name Name, optional
Return: $value Extracted value

getPreferencesValue( $key, $web ) ==> $value

Description: Get a preferences value from TWiki or from a Plugin
Parameter: $key Preferences key
Parameter: $web Name of web, optional. Current web if not specified; does not apply to settings of Plugin topics
Return: $value Preferences value; empty string if not set

getPreferencesFlag( $key, $web ) ==> $value

Description: Get a preferences flag from TWiki or from a Plugin
Parameter: $key Preferences key
Parameter: $web Name of web, optional. Current web if not specified; does not apply to settings of Plugin topics
Return: $value Preferences flag "1" (if set), or "0" (for preferences values "off", "no" and "0")

getWikiToolName( ) ==> $name

Description: Get toolname as defined in TWiki.cfg
Return: $name Name of tool, e.g. "TWiki"

getMainWebname( ) ==> $name

Description: Get name of Main web as defined in TWiki.cfg
Return: $name Name, e.g. "Main"

getTwikiWebname( ) ==> $name

Description: Get name of TWiki documentation web as defined in TWiki.cfg
Return: $name Name, e.g. "TWiki"

Functions: User Handling and Access Control

getDefaultUserName( ) ==> $loginName

Description: Get default user name as defined in TWiki.cfg's $defaultUserName
Return: $loginName Default user name, e.g. "guest"

getWikiName( ) ==> $wikiName

Description: Get Wiki name of logged in user
Return: $wikiName Wiki Name, e.g. "JohnDoe"

getWikiUserName( $text ) ==> $wikiName

Description: Get Wiki name of logged in user with web prefix
Return: $wikiName Wiki Name, e.g. "Main.JohnDoe"

wikiToUserName( $wikiName ) ==> $loginName

Description: Translate a Wiki name to a login name based on Main.TWikiUsers topic
Parameter: $wikiName Wiki name, e.g. "Main.JohnDoe" or "JohnDoe"
Return: $loginName Login name of user, e.g. "jdoe"

userToWikiName( $loginName, $dontAddWeb ) ==> $wikiName

Description: Translate a login name to a Wiki name based on Main.TWikiUsers topic
Parameter: $loginName Login name, e.g. "jdoe"
Parameter: $dontAddWeb Do not add web prefix if "1"
Return: $wikiName Wiki name of user, e.g. "Main.JohnDoe" or "JohnDoe"

isGuest( ) ==> $flag

Description: Test if logged in user is a guest
Return: $flag "1" if yes, "0" if not

permissionsSet( $web ) ==> $flag

Description: Test if any access restrictions are set for this web, ignoring settings on individual pages
Parameter: $web Web name, required, e.g. "Sandbox"
Return: $flag "1" if yes, "0" if no

checkAccessPermission( $type, $wikiName, $text, $topic, $web ) ==> $flag

Description: Check access permission for a topic based on the TWiki.TWikiAccessControl rules
Parameter: $type Access type, e.g. "VIEW", "CHANGE", "CREATE"
Parameter: $wikiName WikiName of remote user, i.e. "Main.PeterThoeny"
Parameter: $text Topic text, optional. If empty, topic $web.$topic is consulted
Parameter: $topic Topic name, required, e.g. "PrivateStuff"
Parameter: $web Web name, required, e.g. "Sandbox"
Return: $flag "1" if access may be granted, "0" if not

Functions: Content Handling

webExists( $web ) ==> $flag

Description: Test if web exists
Parameter: $web Web name, required, e.g. "Sandbox"
Return: $flag "1" if web exists, "0" if not

topicExists( $web, $topic ) ==> $flag

Description: Test if topic exists
Parameter: $web Web name, optional, e.g. "Main"
Parameter: $topic Topic name, required, e.g. "TokyoOffice", or "Main.TokyoOffice"
Return: $flag "1" if topic exists, "0" if not

getRevisionInfo( $web, $topic ) ==> ( $date, $loginName, $rev )

Description: Get revision info of a topic
Parameter: $web Web name, optional, e.g. "Main"
Parameter: $topic Topic name, required, e.g. "TokyoOffice"
Return: ( $date, $loginName, $rev ) List with: ( last update date, login name of last user, minor part of top revision number ), e.g. ( "01 Jan 2003", "phoeny", "5" )

checkTopicEditLock( $web, $topic ) ==> ( $oopsUrl, $loginName, $unlockTime )

Description: Check if topic has an edit lock by a user
Parameter: $web Web name, e.g. "Main", or empty
Parameter: $topic Topic name, e.g. "MyTopic", or "Main.MyTopic"
Return: ( $oopsUrl, $loginName, $unlockTime ) The $oopsUrl for calling redirectCgiQuery(), user's $loginName, and estimated $unlockTime in minutes. The $oopsUrl and $loginName is empty if topic has no edit lock.

setTopicEditLock( $web, $topic, $lock ) ==> $oopsUrl

Description: Lock topic for editing, or unlock when done
Parameter: $web Web name, e.g. "Main", or empty
Parameter: $topic Topic name, e.g. "MyTopic", or "Main.MyTopic"
Parameter: $lock Set to 1 to lock topic, 0 to unlock
Return: $oopsUrl Empty string if OK; the $oopsUrl for calling redirectCgiQuery() in case lock is already taken when trying to lock topic

readTopicText( $web, $topic, $rev, $ignorePermissions ) ==> $text

Description: Read topic text, including meta data
Parameter: $web Web name, e.g. "Main", or empty
Parameter: $topic Topic name, e.g. "MyTopic", or "Main.MyTopic"
Parameter: $rev Topic revision to read, optional. Specify the minor part of the revision, e.g. "5", not "1.5"; the top revision is returned if omitted or empty.
Parameter: $ignorePermissions Set to "1" if checkAccessPermission() is already performed and OK; an oops URL is returned if user has no permission
Return: $text Topic text with embedded meta data; an oops URL for calling redirectCgiQuery() is returned in case of an error

saveTopicText( $web, $topic, $text, $ignorePermissions, $dontNotify ) ==> $oopsUrl

Description: Save topic text, typically obtained by readTopicText(). Topic data usually includes meta data; the file attachment meta data is replaced by the meta data from the topic file if it exists.
Parameter: $web Web name, e.g. "Main", or empty
Parameter: $topic Topic name, e.g. "MyTopic", or "Main.MyTopic"
Parameter: $text Topic text to save, assumed to include meta data
Parameter: $ignorePermissions Set to "1" if checkAccessPermission() is already performed and OK
Parameter: $dontNotify Set to "1" if not to notify users of the change
Return: $oopsUrl Empty string if OK; the $oopsUrl for calling redirectCgiQuery() in case of error

getPublicWebList( ) ==> @webs

Description: Get list of all public webs, e.g. all webs that do not have the NOSEARCHALL flag set in the WebPreferences
Return: @webs List of all public webs, e.g. ( "Main",  "Know", "TWiki" )

getTopicList( $web ) ==> @topics

Description: Get list of all topics in a web
Parameter: $web Web name, required, e.g. "Sandbox"
Return: @topics Topic list, e.g. ( "WebChanges",  "WebHome", "WebIndex", "WebNotify" )

Functions: Rendering

expandCommonVariables( $text, $topic, $web ) ==> $text

Description: Expand all common %VARIABLES%
Parameter: $text Text with variables to expand, e.g. "Current user is %WIKIUSER%"
Parameter: $topic Current topic name, e.g. "WebNotify"
Parameter: $web Web name, optional, e.g. "Main". The current web is taken if missing
Return: $text Expanded text, e.g. "Current user is TWikiGuest"

renderText( $text, $web ) ==> $text

Description: Render text from TWiki markup into XHTML as defined in TWiki.TextFormattingRules
Parameter: $text Text to render, e.g. "*bold* text and =fixed font="
Parameter: $web Web name, optional, e.g. "Main". The current web is taken if missing
Return: $text XHTML text, e.g. "<b>bold</b> and <code>fixed font</code>"

internalLink( $pre, $web, $topic, $label, $anchor, $createLink ) ==> $text

Description: Render topic name and link label into an XHTML link. Normally you do not need to call this funtion, it is called internally by renderText()
Parameter: $pre Text occuring before the TWiki link syntax, optional
Parameter: $web Web name, required, e.g. "Main"
Parameter: $topic Topic name to link to, required, e.g. "WebNotify"
Parameter: $label Link label, required. Usually the same as $topic, e.g. "notify"
Parameter: $anchor Anchor, optional, e.g. "#Jump"
Parameter: $createLink Set to "1" to add question linked mark after topic name if topic does not exist;
set to "0" to suppress link for non-existing topics
Return: $text XHTML anchor, e.g. "<a href="/cgi-bin/view/Main/WebNotify#Jump">notify</a>"

search text( $text ) ==> $text

Description: This is not a function, just a how-to note. Use: expandCommonVariables("%SEARCH{...}%" );
Parameter: $text Search variable
Return: "$text" Search result in TWiki.FormattedSearch format

formatGmTime( $time, $format ) ==> $text

Description: Format the time to GM time
Parameter: $time Time in epoc seconds
Parameter: $format Format type, optional. Default e.g. "31 Dec 2002 - 19:30", can be "iso" (e.g. "2002-12-31T19:30Z"), "rcs" (e.g. "2001/12/31 23:59:59", "http" for HTTP header format (e.g. "Thu, 23 Jul 1998 07:21:56 GMT")
Return: $text Formatted time string

Functions: File I/O

getDataDir( ) ==> $dir

Description: Get data directory (topic file root)
Return: $dir Data directory, e.g. "/twiki/data"

getPubDir( ) ==> $dir

Description: Get pub directory (file attachment root). Attachments are in $dir/Web/TopicName
Return: $dir Pub directory, e.g. "/htdocs/twiki/pub"

readTemplate( $name, $skin ) ==> $text

Description: Read a template or skin file. Embedded template directives get expanded
Parameter: $name Template name, e.g. "view"
Parameter: $skin Skin name, optional, e.g. "print"
Return: $text Template text

readFile( $filename ) ==> $text

Description: Read text file, low level. NOTE: For topics use readTopicText()
Parameter: $filename Full path name of file
Return: $text Content of file

saveFile( $filename, $text )

Description: Save text file, low level. NOTE: For topics use saveTopicText()
Parameter: $filename Full path name of file
Parameter: $text Text to save
Return: none

writeWarning( $text )

Description: Log Warning that may require admin intervention to data/warning.txt
Parameter: $text Text to write; timestamp gets added
Return: none

writeDebug( $text )

Description: Log debug message to data/debug.txt
Parameter: $text Text to write; timestamp gets added
Return: none

Copyright and License

Copyright (C) 2000-2003 Peter Thoeny, Peter@Thoeny.com

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details, published at http://www.gnu.org/copyleft/gpl.html

NOTE: Above text is copied from the TWiki::Plugins/PerlDocPlugin output of TWiki::Func in twiki format. In case you want to get dynamically updated documentation based on the actual Perl module, install the PerlDocPlugin and replace above text with %PERLDOC{"TWiki::Func"}%.

-- PeterThoeny - 31 Dec 2002


TWiki Site Tools

Utilities for searching, navigation, and monitoring site activity

TWikiSiteTools include utilities for navigating, searching and keeping up with site activity. Preferences can be configured by web or site-wide. You are currently in the TWiki web. In particular, TWiki provides two highly configurable, automated site monitoring tools, WebNotify, to email alerts when topics are edited, and WebStats, to generate detailed activity reports.

WebNotify Recent Changes Alert

Each TWiki web has an automatic email alert service that sends a list of recent changes on a preset schedule, like once a day. Users can subscribe and unsubscribe using WebNotify in each web. The Perl script mailnotify is called by a background process at regular intervals. The script sends an automated email to subscribed users if topics were changed in a web since the script was last run.

TWiki handles WebNotify entries that include the WikiName of a user or a TWikiGroup and an optional e-mail address. Example entries in WebNotify:

    * Main.FredBloggs
    * Main.FredBloggs - secondary@home.com
    * Main.EngineeringGroup

The first entry is the default form, the notification gets sent to the e-mail address specified in the user's home page. The second entry lists an alternative e-mail address. The third entry specifies a group, the notification gets sent to each member of the group.

You can also use %MAINWEB% instead of Main, but this is not necessary even if you have renamed the main web by configuring $mainWebname in TWiki.cfg.

Configuring Outgoing Mail

TWiki will use the Net::SMTP module if it is installed on your system. Set this with the SMTPMAILHOST variable in TWikiPreferences.

The notify e-mail uses the default changes.tmpl template, or a skin if activated in the TWikiPreferences.

mailnotify also relies on two hidden files in each TWiki/data/[web] directory: .changes and .mailnotify. Make sure both are writable by your web server process. .changes contains a list of changes; go ahead and make this empty. .mailnotify contains a timestamp of the last time notification was done.

You can use an external mail program, like sendmail, if the Net::SMTP module is not installed. Set the program path in $mailProgram in TWiki.cfg.

Setting the Automatic Email Schedule

For Unix platforms: Edit the cron table so that mailnotify is called in an interval of your choice. Please consult man crontab of how to modify the table that schedules program execution at certain intervals. Example:

% crontab -e
15,45 * * * * (cd ~twiki/public_html/bin; ./mailnotify -q)
The above line will call mailnotify at 15 minutes and 45 minutes past every hour. The -q switch suppresses all normal output.

For ISP installations: Many ISPs don't allow hosted accounts direct cron access, as it's often used for things that can heavily load the server. Workaround scripts are available.

On Windows NT/2000: You can use a scheduled task if you have administrative privileges. Note: AT on an NT machine is pretty limited. Microsoft lists several third-party replacements (as of 2001-11-20, none of them free).

WebStatistics Site Usage Log

You can generate a listing manually, or on an automated schedule, of visits to individual pages, on a per web basis. Compiled as a running total on a monthly basis. Includes totals for Topic Views, Topic Saves, Attachment Uploads, Most Popular Topics with number of views, and Top Contributors showing total of saves and attachment uploads. Previous months are saved.

Configuring for Automatic Operation

Generating Statistics Manually by URL

WebSearch

WebSearch is an extremely fast and flexible search facility, part of the core TWiki feature set. Options include:

See also: TWikiVariables for including hard-coded searches in text.

WebChanges

To check for the most recently edited topics while on-site, use the WebChanges link, usually located on the upper toolbar. It lists the most recently modified topics, newest first, along with the first couple of lines of the page content.

This is simply a preset SEARCH. The number of topics listed by the limit parameter.:

%SEARCH{".*" web="TWiki" regex="on" nosearch="on" order="modified" 
reverse="on" limit="50"}%

WebIndex

WebIndex lists all web topics in alphabetical order, with the first couple of lines of text. This is simply a preset SEARCH:

%SEARCH{"\.*" scope="topic" regex="on" nosearch="on"}%

-- MikeMannix? - 01 Dec 2001
-- PeterThoeny - 30 Jan 2003


Managing Topics

Browser-based rename, move, and delete for individual topics

Overview

You can use browser-based controls to change a topic's name, move it to another TWiki web, or delete it to a hidden Trash web.

How to Rename/Move/Delete a Topic

  1. Click on [More] (bottom right of page) on the topic to be changed, then, in the new screen, on [Rename/move]. You can now rename and/or move/delete in one operation:
  2. Move/Delete: Select the target web if other than the current web - choose Trash to delete a topic.
  3. Rename: Enter the new topic name - default is current name
    ALERT! NOTE: You'll be warned if any of the topics to be affected are locked (being edited), or if there is a name conflict.
  4. Prevent updates by unchecking individual items on the list of referring links - these topics will NOT to be updated with the new name (by default, all referring links will be updated).
  5. Click on [Rename/Move]: the topic will be renamed and links to the topic updated as requested.

Deleted Topics: How to Clear the Trash

Deleted topics are moved to a special Trash web - they are NOT physically erased from the server. All webs share Trash - in case of a name conflict with a topic already Trash, the user is alerted and asked to choose a new name.

The Trash web should be be cleared periodically, by archiving (saving) the text and RCS files if required (recommended), then deleting them from the Trash directory.

Redirecting from an Old Topic

You can use TWikiMetaData to place a command in the WebTopicViewTemplate and WebTopicNonWikiTemplate that will indicate that a topic has been moved by searching for the tag %META:TOPICMOVED{...}%. Customize something like this:

%<nop>METASEARCH{type="topicmoved" web="%WEB%" topic="%TOPIC%" 
title="This topic used to exist and was moved to: "}%

How Rename/Move Works

  1. %SEARCH%, with a special template, finds and displays all occurrences of the topic name in other topics, site-wide. These referring links are by default automatically changed to the new topic and/or web name. This includes relevant TWikiMetaData definitions.
  2. The topic is moved (if locks allow).
  3. References are changed (locks and permissions permitting).
  4. Any referring topics that can't be changed due to locks are listed - user can take note and change them at another time.

How Referring Topics Are Found

Referring topics are found using the %SEARCH% variable - see the template searchrenameview.tmpl. First, matching topics in the current web are listed - matches are to topic. Next, all webs (including the current one) are listed that match web.topic. Because %SEARCH% is used, webs marked in WebPreferences as NOSEARCHALL will not show up in the search for references to the topic being changed.

Changed references are kept are as short as possible, ex: topic is used in preference to web.topic.

Effect of User Access Settings

User permissions affect the Rename function in various ways. To rename a topic, you need both ALLOWTOPICCHANGE and ALLOWTOPICRENAME permission for that topic. To alter referring topics, you need change permission. See TWikiAccessControl for information on setting up access permissions.

Special Considerations

Consider carefully whether to make browser-based Rename/Move/Delete widely available, or to restrict it to an administrator/moderator group. Allowing all users to easily manipulate topics can be extremely useful in refactoring a busy web or site. However, there are at least two significant potential drawbacks to take into account:

Ultimately, the size, objectives, and policies of your TWiki site, the real-world behavior of your user group, and most importantly, the initial TWiki site management leadership, will determine the most effective implementation of this feature, and the success of the site overall.

Known Issues

Rename/Move is fairly complicated due to the dynamic generation of links. Ideally, it would be possible to run the required part of rendering in a way that would allow identification of the text to be changed. Unfortunately, these hooks don't exist in TWiki at present. Instead, %SEARCH% is used with a special template to show the text to be changed, and the selected topics are then altered. One drawback is that search can show matches that will not be updated due to case differences. Other mismatches with actual rendered output are also possible as the approaches are so different.

The following shows some limitations of square bracket processing.

[[Old Topic]]  => [[NewTopic][Old Topic]]
[[old topic]]  => [[NewTopic][old topic]]
[[old t opic]] => not changed
[[OldTopic]]   => [[NewTopic]]

-- MikeMannix? - 27 Dec 2001


Managing Webs

Adding webs is a web based operation; renaming and deleting webs are manual operations done directly on the server

Overview

A TWikiSite is divided into webs; each one represents one subject, one area of collaboration. Administrators can add/rename/delete webs.

Choose Web Template

There are two methods used to create a new web. First you can use a specially designed TemplateWeb. This is an invisible web that begins with an underscore "_" character. All topics in the _default template web will be copied into your new web.

The second method is to use an existing web as a template web. This may be useful if you already have a web that you like to use as a starting point. Only topics that have names beginning with Web... (like "WebHome", "WebNotify", etc.) are copied.

In either case you will want to be sure to verify that your new web has all the custom modifications that you desire.

Adding a New Web

Create a new web by filling out this form. Note: It is not recommended to create a new web for each little project. You can organize content within a web using TWikiForms and FormattedSearch. Cross-linking topics and search is easier if there are only a few larger webs.
Name of new web: Enter a short name of up to 10 characters. The name must start with one or more upper case letters, followed by optional lower case letters or numbers; it cannot be a WikiWord
Based on web: Select a TemplateWeb
Web color: Enter a StandardColors code for the web
Description:
 
 

Enter a short description of the web. Write Web.TopicName instead of just TopicName if you include links. This will list the web in the SiteMap (leave field empty if you prefer not to update the directory.)
Use to...
 

Continue the sentence describing the intended use. This is also for the SiteMap
Exclude web from "search all": No   Yes Specify if you want to exclude the web from a "search all webs" search. Note that the SiteMap will not list the web if you select Yes.
 

Note: Attachments will NOT get copied over along with their topics. This will be a feature added for the TWiki:Codev/CairoRelease.

Note: This script does not yet edit the TWiki.TWikiPreferences file to update the WIKIWEBLIST. This must be done by hand.

The manage script while creating the new web will update the following variables in the WebPreferences: WEBBGCOLOR, SITEMAPLIST, SITEMAPWHAT, SITEMAPUSETO and NOSEARCHALL. These variables are now used to dynamically generate the SiteMap.

Renaming or Deleting a Web

Renaming or deleting a web requires direct access to the installation files on the host server. There are currently no browser-based equivalents of the Rename/move/delete topic tools for working with webs.

NOTE: If you plan to rename the TWiki.Main web, remember that TWiki stores user and group topics in %MAINWEB%, default named Main. That means, every WikiName signature - Main.SomeUserName - points to it and would need updating (unless the variable, %MAINWEB%.SomeUserName, is used throughout).

  1. Prepare your site: Search each web for links to the target web, searching topic text for Oldwebname., including the dot so you'll find references like Oldwebname.SomeTopic.
  2. Edit the TWikiPreferences topic: Rename or delete the web from the WIKIWEBLIST variable.
  3. Login to the TWiki server, via Telnet or FTP.
  4. Go to twiki/data and rename or remove the web directory.
  5. Go to twiki/templates and rename or remove the web directory if present.
  6. Go to twiki/pub and rename or remove the web directory if present.

-- MikeMannix? - 14 Sep 2001
-- PeterThoeny - 07 Apr 2002
-- GrantBow - 16 Jan 2003


Appendix A: TWiki Filesystem

Annotated directory and file listings, for the 01-Feb-2003 TWiki production release.

Who and What is This Good For?

Interested Users and Site Administrators can find out in simple terms what each part of TWiki actually does. Adventurous Adminstrators with server access to files (via telnet, ssh or ftp) can also figure out where to look to make minor modifications, like changing hardcode text or color. Software Developers can get an at-a-glance overview of TWiki code architecture.

Directory Structure

You can rename the root TWiki directory - twiki - to whatever you like by changing it in the TWiki.cfg configuration file. However, to keep the current installation and future upgrades simple, you should leave the five main subdirectories intact:

Directory: Files: Used for:
twiki list Start-up info
twiki/bin list Perl scripts
twiki/lib list Configuration file, main library, Perl system modules, Plugins directory
twiki/pub list Public files (eg: images) and FileAttachments and their RCS histories
twiki/data list Individual topics (page content) and their RCS histories
twiki/templates list HTML templates, used by TWiki scripts

File Descriptions

A rundown of the individual files included in the current distribution, organized by TWiki root directories.

Files in twiki

Application info and the current reference documentation. Full file list:

File: Used for:
index.html Links to launch TWiki after install and for files in this directory
license.txt GNU General Public License and TWiki-specific info
readme.txt General TWiki start-up info with relevant URLs
TWikiDocumentation.html All documentation packaged as a single page
TWikiHistory.html TWiki development timeline: versions, features, developers

Files in twiki/bin

Perl CGI scripts. Full file list:

File: Used for:
.htaccess.txt Authentication. Rename to .htaccess and customize if used
attach Shows the attach file page (FileAttachment)
edit Edit a topic
geturl Fetch URL data
installpasswd Install new password by admin
mailnotify Script called by cron job to notify users of changes
manage Manage script to create new webs
oops Shows an OK or oops dialog
passwd Reset and change password
preview Preview topic after edit
rdiff See differences of topics
register Register new users
rename Rename/move topics and move attachments
save Saves a topic, called by preview
search Displays search results
setlib.cfg Location of the TWiki libraries. Customize if needed
statistics Create statistics topic
testenv Test CGI environment variables
upload Does file upload (FileAttachment)
view View a topic ( the script )
viewfile View a file attachment

Files under twiki/lib

The new lib/TWiki/Plugins directories contain configuration, library and function files, and TWikiPlugins. Full file list:

File: Used for:
TWiki.cfg Main configuration, used by TWiki.pm
TWiki.pm Main TWiki library
TWiki/Access.pm Access control
TWiki/Attach.pm Attachment handling
TWiki/Form.pm Form handling
TWiki/Func.pm Public functions that Plugins may use
TWiki/Meta.pm Meta data in topics
TWiki/Net.pm SMTP mail handling
TWiki/Plugins.pm Plugin handling
TWiki/Prefs.pm Preferences handling
TWiki/Search.pm Search engine, used by wiki.pm
TWiki/Store.pm Back-end storage, *.txt text file and *.txt,v RCS repository file handling
TWiki/Store/RcsFile.pm Generic file handling code, a class
TWiki/Store/RcsWrap.pm Wrappers around RCS executables, a class that inherits from RcsFile
TWiki/Store/RcsLite.pm A Perl RCS implemention, a class that inherits from RcsFile
TWiki/Plugins/DefaultPlugin.pm Handles some legacy rules
TWiki/Plugins/EmptyPlugin.pm Empty plugin, use to create your own
TWiki/Plugins/InterwikiPlugin.pm Use aliases as links for predefined URLs

Files under twiki/pub

The pub directory stores topic-related files, including images used by TWiki and FileAttachments. Attachments are stored in subdirectories created with the related topic name. You can also upload files directly for and link manually (but not through Attach) Partial file list:

File: Used for:
favicon.ico ICO file
wikiHome.gif GIF file
icn/_filetypes.txt Lookup table to translate file extension to file type
icn/bat.gif GIF file for file type
icn/bmp.gif GIF file for file type
... ...
TWiki/FileAttachment/Sample.txt TEXT file: sample
TWiki/FileAttachment/Smile.gif GIF image: sample
TWiki/FileAttachment/Smile.gif,v RCS repository for GIF file
TWiki/PreviewBackground/blankltgraybg.gif GIF image
TWiki/PreviewBackground/blankwhitebg.gif GIF image
TWiki/PreviewBackground/previewbg.gif GIF image: Preview view background
TWiki/PreviewBackground/preview2bg.gif GIF image: Alternate preview view background
TWiki/TWikiLogos/twikiRobot121x54.gif GIF image: TWiki logo
... ...
TWiki/TWikiTemplates/testscreen.gif GIF image: Screen shot
TWiki/WabiSabi/wabisabi.gif GIF image: illustration
Know/IncorrectDllVersionW32PTH10DLL/W32PTH10.DLL DLL file: sample

Files under twiki/data

TWiki topics: data stored as individual text files and rendered by TWiki for display as regular Web pages. Each active web has its own subdirectory. The TWiki distribution includes four start-up webs - Main, TWiki, Know, Sandbox - with documentation and demo content, a Trash web for browser-based, recoverable topic deletion, and a _default directory containing a core topic set required to start a new web. Partial file list:

File: Used for:
.htpasswd Basic Authentication (htaccess) users file with username and encrypted password pairs
debug.txt Program-generated messages useful for debugging
mime.types Recognized file formats
warning.txt Diagnostic messages for identifying problems
_default/.changes Per web record of topic changes
_default/.mailnotify Per web timestamp of most recent email notification
_default/WebChanges.txt Display most recent topic changes in web
_default/WebChanges.txt,v Revisions history (RCS)
_default/WebHome.txt Default web home page
_default/WebHome.txt,v Revisions history (RCS)
_default/WebIndex.txt Lists all topics in a web
_default/WebIndex.txt,v Revisions history (RCS)
_default/WebNotify.txt Subscribe/unsubscribe to web changes email alert
_default/WebNotify.txt,v Revisions history (RCS)
_default/WebPreferences.txt Per web Preference Settings
_default/WebPreferences.txt,v Revisions history (RCS)
_default/WebSearch.txt Per web search options
_default/WebSearch.txt,v Revisions history (RCS)
_default/WebStatistics.txt Generates web usage statistics
_default/WebStatistics.txt,v Revisions history (RCS)
_default/WebTopicList.txt Lists all topics in a web in compact format
_default/WebTopicList.txt,v Revisions history (RCS)
... ...

Files in twiki/templates

Templates and skins used to control appearance of topics rendered as Web pages. Full file list:

File: Used for:
attach.tmpl Attach (FileAttachments) control screen
attachagain.tmpl Attachment control screen
attachnew.tmpl Attachment control screen
changeform.tmpl Control screen to change the form in edit mode
changes.tmpl Displays list of recently changed topics
edit.iejs.tmpl Edit window with IE-specific JavaScript
edit.tmpl Main edit window
mailnotify.tmpl Email notification
moveattachment.tmpl Move attachment control screen
oopsaccesschange.tmpl Error message
oopsaccesscreateweb.tmpl Error message
oopsaccessgroup.tmpl Error message
oopsaccessrename.tmpl Error message
oopsaccessview.tmpl Error message
oopsauth.tmpl Error message
oopsbadpwformat.tmpl Error message
oopschangepasswd.tmpl Error message
oopsempty.tmpl Error message
oopslocked.tmpl Error message
oopslockedrename.tmpl Error message
oopsmanage.tmpl Error message
oopsmissing.tmpl Error message
oopsmore.tmpl More topic actions message
oopsmoveerr.tmpl Error message
oopsnoformdef.tmpl Error message
oopsnotwikiuser.tmpl Error message
oopsnoweb.tmpl Error message
oopspreview.tmpl Error message
oopsregemail.tmpl Error message
oopsregexist.tmpl Error message
oopsregpasswd.tmpl Error message
oopsregrequ.tmpl Error message
oopsregthanks.tmpl Error message
oopsregwiki.tmpl Error message
oopsrenameerr.tmpl Error message
oopsrenamenotwikiword.tmpl Error message
oopsresetpasswd.tmpl Error message
oopsrev.tmpl Error message
oopssave.tmpl Error message
oopssaveerr.tmpl Error message
oopssendmailerr.tmpl Error message
oopstopicexists.tmpl Error message
oopsupload.tmpl Error message
oopswrongpassword.tmpl Error message
preview.tmpl Preview Changes screen
rdiff.tmpl Displays text changes before & after Diffs
registernotify.tmpl Registration notification
rename.tmpl Rename/move control screen (choose web & new topic tile
renamebase.tmpl Used by other rename templates
renameconfirm.tmpl Confirms a pre-specified rename, ex: undoing a rename
renamerefs.tmpl Display if rename done, but some references not changed (topics were locked)
search.tmpl Search screen
searchbookview.tmpl Search results with full topic content
searchformat.tmpl Search screen for formatted search
searchmeta.tmpl Search screen
searchrenameview.tmpl Used by rename to list references to topic being renamed
twiki.tmpl Master template: definitions are used by other templates
view.plain.tmpl Skin for bare bone topic view without header/footer
view.print.tmpl Skin for printable topic view with a simple header/footer
view.rss.tmpl Skin for topic view in RDF XML format
view.tmpl Main topic view - the standard regular Web page

TWiki File System Snapshot

The following partial directory listings from a Linux installation show typical file permissions and ownership. This is provided for general debugging use only and isn't an exact representation of the current distribution.

Directory twiki/bin:

drwxrwxr-x    2 twiki  twiki        4096 Jan  7 23:56 .
drwxrwxr-x    5 twiki  twiki        4096 Nov 18 12:21 ..
-rw-rw-r--    1 twiki  twiki         979 Aug  3 19:36 .htaccess
-rw-rw-r--    1 twiki  twiki        1598 Jun  1  2002 .htaccess.txt
-rwxrwxr-x    1 twiki  twiki        4986 Jan  4 17:27 attach
-rwxrwxr-x    1 twiki  twiki        3734 Jan  4 17:27 changes
-rwxrwxr-x    1 twiki  twiki        9362 Jan  4 18:04 edit
-rwxrwxr-x    1 twiki  twiki        1878 Jan  4 17:28 geturl
-rwxrwxr-x    1 twiki  twiki        4587 Jan  4 17:28 installpasswd
-rwxrwxr-x    1 twiki  twiki        7231 Jan  6 09:04 mailnotify
-rwxrwxr-x    1 twiki  twiki        6000 Dec 11 01:26 makedistrib
-rwxrwxr-x    1 twiki  twiki        8228 Jan  4 18:25 manage
-rwxrwxr-x    1 twiki  twiki        2445 Jan  4 18:08 oops
-rwxrwxr-x    1 twiki  twiki        6936 Jan  4 18:08 passwd
-rwxrwxr-x    1 twiki  twiki        5820 Jan  4 17:30 preview
-rwxrwxr-x    1 twiki  twiki        9235 Jan  4 17:31 rdiff
-rwxrwxr-x    1 twiki  twiki       10584 Jan  4 18:09 register
-rwxrwxr-x    1 twiki  twiki       14746 Jan  5 00:14 rename
-rwxrwxr-x    1 twiki  twiki        4800 Jan  4 18:09 save
-rwxrwxr-x    1 twiki  twiki        4729 Jan  4 17:32 search
-rw-rw-r--    1 twiki  twiki        1446 Jan  8 01:03 setlib.cfg
-rwxrwxr-x    1 twiki  twiki       19261 Jan  4 17:33 statistics
-rwxrwxr-x    1 twiki  twiki       30626 Jan  4 17:33 testenv
-rwxrwxr-x    1 twiki  twiki       14306 Jan  4 18:11 upload
-rwxrwxr-x    1 twiki  twiki       11414 Jan  5 01:12 view
-rwxrwxr-x    1 twiki  twiki        2944 Jan  5 00:36 viewfile

Directory twiki/templates/:

drwxrwxr-x    2 twiki  twiki        4096 Dec 11 00:38 .
drwxrwxr-x    4 twiki  twiki        4096 Jan  8 01:03 ..
-rw-rw-r--    1 twiki  twiki        2590 Jan  7 22:53 attach.tmpl
-rw-rw-r--    1 twiki  twiki        1604 Aug  3  2001 attachagain.tmpl
-rw-rw-r--    1 twiki  twiki         449 Aug  3  2001 attachnew.tmpl
-rw-rw-r--    1 twiki  twiki        1276 Dec  9 21:48 changeform.tmpl
-rw-rw-r--    1 twiki  twiki        1620 Dec  9 21:48 changes.tmpl
-rw-rw-r--    1 twiki  twiki       12777 Jan  7 22:54 edit.iejs.tmpl
-rw-rw-r--    1 twiki  twiki        2801 Jan  7 22:54 edit.tmpl
-rw-rw-r--    1 twiki  twiki         975 Dec  9 21:48 mailnotify.tmpl
-rw-rw-r--    1 twiki  twiki        1606 Jan  7 22:54 moveattachment.tmpl
-rw-rw-r--    1 twiki  twiki         570 Aug  1  2001 oopsaccesschange.tmpl
-rw-rw-r--    1 twiki  twiki         596 Apr 13  2002 oopsaccesscreateweb.tmpl
-rw-rw-r--    1 twiki  twiki         586 Aug  1  2001 oopsaccessgroup.tmpl
-rw-rw-r--    1 twiki  twiki         573 Aug  1  2001 oopsaccessrename.tmpl
-rw-rw-r--    1 twiki  twiki         573 Aug  1  2001 oopsaccessview.tmpl
-rw-rw-r--    1 twiki  twiki         997 Nov 11 22:21 oopsauth.tmpl
-rw-rw-r--    1 twiki  twiki         405 Aug  1  2001 oopsbadpwformat.tmpl
-rw-rw-r--    1 twiki  twiki         344 Jul 31  2001 oopschangepasswd.tmpl
-rw-rw-r--    1 twiki  twiki         624 Jul 31  2001 oopsempty.tmpl
-rw-rw-r--    1 twiki  twiki         891 Dec 30 15:51 oopslocked.tmpl
-rw-rw-r--    1 twiki  twiki         589 Dec 30 15:55 oopslockedrename.tmpl
-rw-rw-r--    1 twiki  twiki         678 Apr 12  2002 oopsmanage.tmpl
-rw-rw-r--    1 twiki  twiki         328 Jul 31  2001 oopsmissing.tmpl
-rw-rw-r--    1 twiki  twiki        2352 Apr 13  2002 oopsmngcreateweb.tmpl
-rw-rw-r--    1 twiki  twiki        2322 Jan  7 22:55 oopsmore.tmpl
-rw-rw-r--    1 twiki  twiki         407 Aug  1  2001 oopsmoveerr.tmpl
-rw-rw-r--    1 twiki  twiki        1132 Nov 30  2001 oopsnoformdef.tmpl
-rw-rw-r--    1 twiki  twiki         520 Jan  4 18:21 oopsnotwikiuser.tmpl
-rw-rw-r--    1 twiki  twiki        1495 Apr  7  2002 oopsnoweb.tmpl
-rw-rw-r--    1 twiki  twiki         393 Aug  1  2001 oopspreview.tmpl
-rw-rw-r--    1 twiki  twiki         340 Dec 10 14:14 oopsregemail.tmpl
-rw-rw-r--    1 twiki  twiki         475 Jun 10  2002 oopsregexist.tmpl
-rw-rw-r--    1 twiki  twiki         345 Aug  1  2001 oopsregpasswd.tmpl
-rw-rw-r--    1 twiki  twiki         356 Aug  1  2001 oopsregrequ.tmpl
-rw-rw-r--    1 twiki  twiki         540 Aug  1  2001 oopsregthanks.tmpl
-rw-rw-r--    1 twiki  twiki         679 Aug  1  2001 oopsregwiki.tmpl
-rw-rw-r--    1 twiki  twiki         502 Mar 24  2002 oopsrenameerr.tmpl
-rw-rw-r--    1 twiki  twiki         433 May 19  2002 oopsrenamenotwikiword.tmpl
-rw-rw-r--    1 twiki  twiki         506 Jun 10  2002 oopsresetpasswd.tmpl
-rw-rw-r--    1 twiki  twiki         957 Jan  7 22:55 oopsrev.tmpl
-rw-rw-r--    1 twiki  twiki         774 Aug  1  2001 oopssave.tmpl
-rw-rw-r--    1 twiki  twiki         477 Aug  1  2001 oopssaveerr.tmpl
-rw-rw-r--    1 twiki  twiki         465 Jun 10  2002 oopssendmailerr.tmpl
-rw-rw-r--    1 twiki  twiki         379 Aug  1  2001 oopstopicexists.tmpl
-rw-rw-r--    1 twiki  twiki         342 Jul 31  2001 oopsupload.tmpl
-rw-rw-r--    1 twiki  twiki         364 Aug  1  2001 oopswrongpassword.tmpl
-rw-rw-r--    1 twiki  twiki        2603 Jan  7 22:55 preview.tmpl
-rw-rw-r--    1 twiki  twiki        1719 Jan  7 22:56 rdiff.tmpl
-rw-rw-r--    1 twiki  twiki        1160 Dec  9 21:48 registernotify.tmpl
-rw-rw-r--    1 twiki  twiki         993 Jun 23  2002 rename.tmpl
-rw-rw-r--    1 twiki  twiki        2369 Jan  7 22:56 renamebase.tmpl
-rw-rw-r--    1 twiki  twiki         471 May 31  2002 renameconfirm.tmpl
-rw-rw-r--    1 twiki  twiki         595 May 31  2002 renamerefs.tmpl
-rw-rw-r--    1 twiki  twiki        1818 Jan  7 22:56 search.tmpl
-rw-rw-r--    1 twiki  twiki        1676 Jan  7 22:57 searchbookview.tmpl
-rw-rw-r--    1 twiki  twiki         980 Jan  7 22:57 searchformat.tmpl
-rw-rw-r--    1 twiki  twiki         149 Sep 13  2001 searchmeta.tmpl
-rw-rw-r--    1 twiki  twiki        2071 Jan  7 22:57 searchrenameview.tmpl
-rw-rw-r--    1 twiki  twiki        2284 Dec  9 21:48 twiki.tmpl
-rw-rw-r--    1 twiki  twiki         419 Dec  9 21:48 view.plain.tmpl
-rw-rw-r--    1 twiki  twiki         827 Dec  9 21:48 view.print.tmpl
-rw-rw-r--    1 twiki  twiki         300 Dec 14 17:16 view.rss.tmpl
-rw-rw-r--    1 twiki  twiki        1629 Jan  7 22:58 view.tmpl

Directory twiki/data/:

drwxrwxr-x    8 nobody nobody       4096 Jan  3 23:50 .
drwxrwxr-x    4 twiki  twiki        4096 Jan  8 01:03 ..
-rw-rw-rw-    1 twiki  twiki         210 Jan 11 15:58 .htpasswd
drwxrwxr-x    2 nobody nobody       4096 Dec 11 02:15 Know
drwxrwxr-x    2 nobody nobody       4096 Jan 11 17:45 Main
drwxrwxr-x    2 nobody nobody       4096 Dec 11 02:15 Sandbox
drwxrwxr-x    2 nobody nobody       8192 Jan 11 22:45 TWiki
drwxrwxr-x    2 nobody nobody       4096 Dec 11 02:15 Trash
drwxrwxr-x    2 nobody nobody       4096 Dec 11 01:01 _default
-rw-rw-rw-    1 twiki twiki            0 Aug  2 14:16 debug.txt
-rw-rw-r--    1 nobody nobody      36630 Jan 11 22:26 log200301.txt
-rw-rw-r--    1 twiki twiki         3419 Aug 13  2001 mime.types
-rw-rw-rw-    1 twiki twiki         1320 Dec 11 00:18 warning.txt

Partial file list for twiki/data/Main:

drwxrwxr-x    2 nobody nobody       4096 Jan 11 17:45 .
drwxrwxr-x    8 nobody nobody       4096 Jan  3 23:50 ..
-rw-rw-rw-    1 twiki  twiki        3662 Jan 11 16:29 .changes
-rw-rw-rw-    1 twiki  twiki           9 Oct 25  2001 .mailnotify
-rw-r--r--    1 nobody nobody        280 Dec 15  2000 TokyoOffice.txt
-rw-r--r--    1 nobody nobody        774 Dec 15  2000 TokyoOffice.txt,v
-rw-r--r--    1 nobody nobody        124 Aug 16  2001 WebChanges.txt
-r--r--r--    1 nobody nobody        526 Aug 16  2001 WebChanges.txt,v
-rw-r--r--    1 nobody nobody       1721 Jun 28  2002 WebHome.txt
-r--r--r--    1 nobody nobody      11314 Jun 28  2002 WebHome.txt,v
-rw-r--r--    1 nobody nobody        176 Nov 24  2001 WebIndex.txt
-r--r--r--    1 nobody nobody        483 Nov 24  2001 WebIndex.txt,v
-rw-r--r--    1 nobody nobody        729 Mar 24  2001 WebNotify.txt
-r--r--r--    1 nobody nobody       2981 Mar 24  2001 WebNotify.txt,v
-rw-r--r--    1 nobody nobody       3670 Apr 12  2002 WebPreferences.txt
-r--r--r--    1 nobody nobody       8203 Apr 12  2002 WebPreferences.txt,v
-rw-r--r--    1 nobody nobody        158 Aug  7  2001 WebSearch.txt
-r--r--r--    1 nobody nobody      18332 Aug  7  2001 WebSearch.txt,v
-rw-r--r--    1 nobody nobody        850 Dec 11 00:58 WebStatistics.txt
-r--r--r--    1 nobody nobody       1690 Dec 11 00:58 WebStatistics.txt,v
-rw-r--r--    1 nobody nobody        182 Nov 24  2001 WebTopicList.txt
-r--r--r--    1 nobody nobody        371 Nov 24  2001 WebTopicList.txt,v

Directory twiki/pub/:

drwxrwxr-x    8 nobody nobody       4096 Nov 18 12:31 .
drwxrwxr-x    3 twiki  twiki        4096 Nov 18 12:31 ..
drwxrwxr-x    3 nobody nobody       4096 Nov 18 12:31 Know
drwxrwxr-x    2 nobody nobody       4096 Apr  7  2002 Main
drwxrwxr-x    2 nobody nobody       4096 Apr 20  2002 Sandbox
drwxrwxr-x    8 nobody nobody       4096 Nov 18 12:31 TWiki
drwxrwxr-x    2 nobody nobody       4096 Dec  3  2001 Trash
-rw-rw-r--    1 twiki  twiki        1078 Jan 14  2000 favicon.ico
drwxrwxr-x    2 twiki  twiki        4096 Nov 18 12:31 icn
-rw-rw-r--    1 twiki  twiki        2877 Jun  7  1999 wikiHome.gif

Partial file list for twiki/pub/icn/:

drwxrwxr-x    2 twiki  twiki        4096 Nov 18 12:31 .
drwxrwxr-x    8 nobody nobody       4096 Nov 18 12:31 ..
-rw-rw-r--    1 twiki  twiki         801 Mar 26  1999 _filetypes.txt
-rw-rw-r--    1 twiki  twiki         143 Mar  9  1999 bat.gif
-rw-rw-r--    1 twiki  twiki         926 Mar  9  1999 bmp.gif
-rw-rw-r--    1 twiki  twiki         141 Mar 25  1999 c.gif
-rw-rw-r--    1 twiki  twiki         144 Mar  9  1999 dll.gif
-rw-rw-r--    1 twiki  twiki         152 Mar  9  1999 doc.gif

Directory twiki/pub/TWiki:

drwxrwx--x    8 nobody nobody       4096 Nov 18 12:31 .
drwxrwxr-x    8 nobody nobody       4096 Nov 18 12:31 ..
drwxrwxr-x    2 nobody nobody       4096 Nov 18 12:31 FileAttachment
drwxrwxr-x    2 nobody nobody       4096 Nov 18 12:31 PreviewBackground
drwxrwxr-x    2 nobody nobody       4096 Nov 18 12:31 TWikiDocGraphics
drwxrwxr-x    2 nobody nobody       4096 Nov 18 12:31 TWikiLogos
drwxrwxr-x    2 nobody nobody       4096 Nov 18 12:31 TWikiTemplates
drwxrwxr-x    2 nobody nobody       4096 Nov 18 12:31 WabiSabi

Directory twiki/pub/TWiki/FileAttachment:

drwxrwxr-x    2 nobody nobody       4096 Nov 18 12:31 .
drwxrwx--x    8 nobody nobody       4096 Nov 18 12:31 ..
-rw-rw-r--    1 nobody nobody         30 Jul 22  1999 Sample.txt
-rw-rw-r--    1 nobody nobody         94 Jun  7  1999 Smile.gif
-r--r--r--    1 nobody nobody         81 Aug 15 10:14 Smile.gif,v

-- PeterThoeny - 11 Jan 2003
-- MikeMannix? - 16 May 2002


Appendix B: TWiki Development Timeline

01-Feb-2003 Release (Beijing)

01-Dec-2001 Release (Athens)

01-Sep-2001 Release

01-Dec-2000 Release

01-May-2000 Release

01-Sep-1999 Release

01-Jul-1999 Release

1998 Releases

Dev Flow

The typical TWiki development flow...

 


TWikiDownload  

01 Sep 2001 - 01:32 - r1.2   PeterThoeny

FAQ:

I would like to install TWiki on my server. Can I get the source?

Answer:

TWiki is distributed under the GnuGeneralPublicLicense. You can request the source from http://TWiki.org/download.html.

Back to: TWikiFAQ

-- PeterThoeny - 27 Nov 2000

 


TWikiEnhancementRequests  

23 Jan 2003 - 08:34 - r1.4   PeterThoeny

Related Topics

-- PeterThoeny - 23 Jan 2003

 


TWikiFAQ  

23 Jan 2003 - 08:36 - r1.12   PeterThoeny

Frequently Asked Questions About TWiki

This is a real FAQ, and also a demo of one easily implemented knowledge base solution. See how it's done, click [Edit].

Topics in TWiki web: Changed: now 00:57 Changed by:
DeleteOrRenameATopic 10 Nov 2001 - 05:59 - r1.4 PeterThoeny
FAQ: How do I delete or rename a topic? Answer: New to the 01-Sep-2001 version of TWiki, you can rename, move and delete topics directly from your browser (previously ...  
EditDoesNotIncreaseTheRevision 01 Sep 2001 - 00:19 - r1.2 PeterThoeny
FAQ: Why does the topic revision not increase when I edit a topic? Answer: The same topic revision will be used when you save a topic again within a certain time ...  
GnuGeneralPublicLicense 01 Sep 2001 - 00:20 - r1.2 PeterThoeny
FAQ: TWiki has a GPL (GNU General Public License). What is GPL? Answer: TWiki is distributed under the GNU General Public License, see TWikiDownload. GPL is one of ...  
SearchDoesNotWork 01 Sep 2001 - 00:21 - r1.2 PeterThoeny
FAQ: I've problems with the WebSearch. There is no Search Result on any inquiry. By clicking the Index topic it's the same problem. Answer: That is an indication ...  
SimultaneousEdits 01 Sep 2001 - 00:22 - r1.2 PeterThoeny
FAQ: What happens if two of us try to edit the same topic simultaneously? Answer: The second person gets a warning that the topic is currently being edited by another ...  
TWikiDownload 01 Sep 2001 - 01:32 - r1.2 PeterThoeny
FAQ: I would like to install TWiki on my server. Can I get the source? Answer: TWiki is distributed under the GnuGeneralPublicLicense. You can request the source ...  
WhatIsWikiWiki 18 Jan 2003 - 09:46 - r1.3 PeterThoeny
FAQ: So what is this WikiWiki thing exactly? Answer: A set of pages of information that are open and free for anyone to edit as they wish. They are stored in a server ...  
WikiCulture 10 Apr 2002 - 04:59 - r1.8 PeterThoeny
FAQ: Everybody can edit any page, this is scary. Doesn't that lead to chaos? Answer: TWiki is one of many WikiWikiClones, the first one was built by Ward Cunningham ...  

NOTE: The most recent version of this FAQ is at TWiki:TWiki/TWikiFAQ.

Submit a new FAQ

NOTE: The FAQs here are for frequently asked questions including answers; please ask support questions in the TWiki:Support web. New FAQ topics are based on the TWikiFaqTemplate.

New FAQ topic:   (Use a name in WikiNotation)

More sources...

Other places where you can find answers to your questions:

-- PeterThoeny - 26 Nov 2000
-- MikeMannix - 13 Sep 2001

 


TWikiFaqTemplate  

25 Oct 2001 - 02:07 - r1.2   PeterThoeny

FAQ:

Answer:

Back to: TWikiFAQ

-- Main.guest - 08 May 2009

 


TWikiForms  

25 Jan 2003 - 09:23 - r1.16   PeterThoeny

TWiki Forms

Form-based input in topics, with name/value pairs stored as Meta Data variables; choose one of multiple forms per web & topic

Overview

By adding form-based input to freeform content, you can structure topics with unlimited, easily searchable categories. When forms are enabled for a web and selected in a topic, a single form appears in edit mode, and the contents are rendered as a table when viewed on the display page. You can define unlimited forms per web. For each topic, you can select a template if more than one is defined, or remove forms entirely. Form input values are stored as TWikiMetaData; all data is saved.

Form Templates replace TWikiCategoryTables from the 01-Dec-2000 version of TWiki.

Main Changes from Category Tables

The Form Template system is a more powerful, flexible replacement for the original TWikiCategoryTable. Data from existing category tables can be imported directly.

Form Templates Category Tables
defined in topics defined in templates
many forms per web one table per web
saved as Meta Data saved as HTML
Change & Add Form buttons UseCategory radio button

Importing Category Table Data

On upgrading from the previous TWiki, a Form Template topic has to be built for each web that used a Category Table, recreating the fields and values from the old twikicatitems.tmpl. The replacement Form Template must be set as the first item in the WebPreferences variable WEBFORMS. If missing, pages will display, but attempting to edit results in an error message.

The new Form Template system should work with old Category Table data with no special conversion. Data is assigned to Meta variables the first time an imported topic is edited and saved in the new system.

TIP NOTE: If things aren't working correctly, there may be useful entries in data/warning.txt.

Defining a Form Template

A Form Template is simply a page containing your form, defined as a table where each row is one form field.

Form Template Elements

Defining a Form in One Topic

  1. Create a new topic with your form name: YourForm, ExpenseReport, InfoCategory, RecordReview, whatever you need.
  2. Create a TWiki table, with each column head representing one element of an entry field: Name, Type, Size, Values, and Tooltip message (see sample below).
  3. For each field, fill in a new line; for the type of field, select from the list.
  4. Save the topic (you can later choose to enable/disable individual forms).

Example: WebForm
| *Name* | *Type* | *Size* | *Values* | *Tooltip message* |
| Know.TopicClassification | select | 1 | Know.NoDisclosure, 
  Know.PublicSupported, Know.PublicFAQ | blah blah... |
| Know.OperatingSystem | checkbox | 3 | Know.OsHPUX, Know.OsLinux,
  Know.OsSolaris, Know.OsWin | blah blah... |
| Know.OsVersion | text | 16 | | blah blah... |

Name Type Size Values Tooltip message
TopicClassification select 1 NoDisclosure, PublicSupported, PublicFAQ blah blah...
OperatingSystem checkbox 3 OsHPUX, OsLinux, OsSolaris, OsWin blah blah...
OsVersion text 16   blah blah...

Defining a Form with Multiple Topics

Forms can also be defined by using form templates that retrieve field values from one or more separate topics:

Example: WebFormTemplate

Enabling Forms by Web

Forms are enabled on a per web basis. The WEBFORMS variable in WebPreferences is optional and defines a list of possible form templates. Example:

Including Forms in New Topics

Setting Up Multiple Form Options

Form Data Storage

The form topic name, fields and values are stored as TWikiMetaData - the order of the field/value pairs is the same as in the template.

Using Form Data

TWikiForms accept user-input data, stored as TWikiMetaData. Meta data also contains program-generated info about changes, attachments, etc. To find, format and display form and other meta data, see TWikiMetaData, SEARCH and METASEARCH variables in TWikiVariables, and TWiki Formatted Search for various options.

-- JohnTalintyre - 16 Aug 2001
-- MikeMannix? - 05 Jan 2002

 


TWikiFuncModule  

02 Feb 2003 - 01:02 - r1.3   PeterThoeny

TWiki::Func Module Documentation

Official list of stable TWiki functions for Plugin developers

Description

This module defines official funtions that Plugins and add-on scripts can use to interact with the TWiki engine and content.

Plugins should only use functions published in this module. If you use functions in other TWiki libraries you might impose a security hole and you will likely need to change your Plugin when you upgrade TWiki.

Functions: CGI Environment

getSessionValue( $key ) ==> $value

Description: Get a session value from the Session Plugin (if installed)
Parameter: $key Session key
Return: $value Value associated with key; empty string if not set; undef if session plugin is not installed

setSessionValue( $key, $value ) ==> $result

Description: Set a session value via the Session Plugin (if installed)
Parameter: $key Session key
Parameter: $value Value associated with key
Return: $result "1" if success; undef if session plugin is not installed

getSkin( ) ==> $skin

Description: Get the name of the skin, set by the SKIN preferences variable or the skin CGI parameter
Return: $skin Name of skin, e.g. "gnu". Empty string if none

getUrlHost( ) ==> $host

Description: Get protocol, domain and optional port of script URL
Return: $host URL host, e.g. "http://example.com:80"

getScriptUrl( $web, $topic, $script ) ==> $url

Description: Compose fully qualified URL
Parameter: $web Web name, e.g. "Main"
Parameter: $topic Topic name, e.g. "WebNotify"
Parameter: $script Script name, e.g. "view"
Return: $url URL, e.g. "http://example.com:80/cgi-bin/view.pl/Main/WebNotify"

getScriptUrlPath( ) ==> $path

Description: Get script URL path
Return: $path URL path of TWiki scripts, e.g. "/cgi-bin"

getViewUrl( $web, $topic ) ==> $url

Description: Compose fully qualified view URL
Parameter: $web Web name, e.g. "Main". The current web is taken if empty
Parameter: $topic Topic name, e.g. "WebNotify"
Return: $url URL, e.g. "http://example.com:80/cgi-bin/view.pl/Main/WebNotify"

getOopsUrl( $web, $topic, $template, $param1, $param2, $param3, $param4 ) ==> $url

Description: Compose fully qualified "oops" dialog URL
Parameter: $web Web name, e.g. "Main". The current web is taken if empty
Parameter: $topic Topic name, e.g. "WebNotify"
Parameter: $template Oops template name, e.g. "oopslocked"
Parameter: $param1 ... $param4 Parameter values for %PARAM1% ... %PARAM4% variables in template, optional
Return: $url URL, e.g. "http://example.com:80/cgi-bin/oops.pl/ Main/WebNotify?template=oopslocked&param1=joe"

getPubUrlPath( ) ==> $path

Description: Get pub URL path
Return: $path URL path of pub directory, e.g. "/pub"

getCgiQuery( ) ==> $query

Description: Get CGI query object. Important: Plugins cannot assume that scripts run under CGI, Plugins must always test if the CGI query object is set
Return: $query CGI query object; or 0 if script is called as a shell script

writeHeader( $query )

Description: Prints a basic content-type HTML header for text/html to standard out
Parameter: $query CGI query object
Return: none

redirectCgiQuery( $query, $url )

Description: Redirect to URL
Parameter: $query CGI query object
Parameter: $url URL to redirect to
Return: none, never returns

Functions: Preferences

extractNameValuePair( $attr, $name ) ==> $value

Description: Extract a named or unnamed value from a variable parameter string
Parameter: $attr Attribute string
Parameter: $name Name, optional
Return: $value Extracted value

getPreferencesValue( $key, $web ) ==> $value

Description: Get a preferences value from TWiki or from a Plugin
Parameter: $key Preferences key
Parameter: $web Name of web, optional. Current web if not specified; does not apply to settings of Plugin topics
Return: $value Preferences value; empty string if not set

getPreferencesFlag( $key, $web ) ==> $value

Description: Get a preferences flag from TWiki or from a Plugin
Parameter: $key Preferences key
Parameter: $web Name of web, optional. Current web if not specified; does not apply to settings of Plugin topics
Return: $value Preferences flag "1" (if set), or "0" (for preferences values "off", "no" and "0")

getWikiToolName( ) ==> $name

Description: Get toolname as defined in TWiki.cfg
Return: $name Name of tool, e.g. "TWiki"

getMainWebname( ) ==> $name

Description: Get name of Main web as defined in TWiki.cfg
Return: $name Name, e.g. "Main"

getTwikiWebname( ) ==> $name

Description: Get name of TWiki documentation web as defined in TWiki.cfg
Return: $name Name, e.g. "TWiki"

Functions: User Handling and Access Control

getDefaultUserName( ) ==> $loginName

Description: Get default user name as defined in TWiki.cfg's $defaultUserName
Return: $loginName Default user name, e.g. "guest"

getWikiName( ) ==> $wikiName

Description: Get Wiki name of logged in user
Return: $wikiName Wiki Name, e.g. "JohnDoe"

getWikiUserName( $text ) ==> $wikiName

Description: Get Wiki name of logged in user with web prefix
Return: $wikiName Wiki Name, e.g. "Main.JohnDoe"

wikiToUserName( $wikiName ) ==> $loginName

Description: Translate a Wiki name to a login name based on Main.TWikiUsers topic
Parameter: $wikiName Wiki name, e.g. "Main.JohnDoe" or "JohnDoe"
Return: $loginName Login name of user, e.g. "jdoe"

userToWikiName( $loginName, $dontAddWeb ) ==> $wikiName

Description: Translate a login name to a Wiki name based on Main.TWikiUsers topic
Parameter: $loginName Login name, e.g. "jdoe"
Parameter: $dontAddWeb Do not add web prefix if "1"
Return: $wikiName Wiki name of user, e.g. "Main.JohnDoe" or "JohnDoe"

isGuest( ) ==> $flag

Description: Test if logged in user is a guest
Return: $flag "1" if yes, "0" if not

permissionsSet( $web ) ==> $flag

Description: Test if any access restrictions are set for this web, ignoring settings on individual pages
Parameter: $web Web name, required, e.g. "Sandbox"
Return: $flag "1" if yes, "0" if no

checkAccessPermission( $type, $wikiName, $text, $topic, $web ) ==> $flag

Description: Check access permission for a topic based on the TWiki.TWikiAccessControl rules
Parameter: $type Access type, e.g. "VIEW", "CHANGE", "CREATE"
Parameter: $wikiName WikiName of remote user, i.e. "Main.PeterThoeny"
Parameter: $text Topic text, optional. If empty, topic $web.$topic is consulted
Parameter: $topic Topic name, required, e.g. "PrivateStuff"
Parameter: $web Web name, required, e.g. "Sandbox"
Return: $flag "1" if access may be granted, "0" if not

Functions: Content Handling

webExists( $web ) ==> $flag

Description: Test if web exists
Parameter: $web Web name, required, e.g. "Sandbox"
Return: $flag "1" if web exists, "0" if not

topicExists( $web, $topic ) ==> $flag

Description: Test if topic exists
Parameter: $web Web name, optional, e.g. "Main"
Parameter: $topic Topic name, required, e.g. "TokyoOffice", or "Main.TokyoOffice"
Return: $flag "1" if topic exists, "0" if not

getRevisionInfo( $web, $topic ) ==> ( $date, $loginName, $rev )

Description: Get revision info of a topic
Parameter: $web Web name, optional, e.g. "Main"
Parameter: $topic Topic name, required, e.g. "TokyoOffice"
Return: ( $date, $loginName, $rev ) List with: ( last update date, login name of last user, minor part of top revision number ), e.g. ( "01 Jan 2003", "phoeny", "5" )

checkTopicEditLock( $web, $topic ) ==> ( $oopsUrl, $loginName, $unlockTime )

Description: Check if topic has an edit lock by a user
Parameter: $web Web name, e.g. "Main", or empty
Parameter: $topic Topic name, e.g. "MyTopic", or "Main.MyTopic"
Return: ( $oopsUrl, $loginName, $unlockTime ) The $oopsUrl for calling redirectCgiQuery(), user's $loginName, and estimated $unlockTime in minutes. The $oopsUrl and $loginName is empty if topic has no edit lock.

setTopicEditLock( $web, $topic, $lock ) ==> $oopsUrl

Description: Lock topic for editing, or unlock when done
Parameter: $web Web name, e.g. "Main", or empty
Parameter: $topic Topic name, e.g. "MyTopic", or "Main.MyTopic"
Parameter: $lock Set to 1 to lock topic, 0 to unlock
Return: $oopsUrl Empty string if OK; the $oopsUrl for calling redirectCgiQuery() in case lock is already taken when trying to lock topic

readTopicText( $web, $topic, $rev, $ignorePermissions ) ==> $text

Description: Read topic text, including meta data
Parameter: $web Web name, e.g. "Main", or empty
Parameter: $topic Topic name, e.g. "MyTopic", or "Main.MyTopic"
Parameter: $rev Topic revision to read, optional. Specify the minor part of the revision, e.g. "5", not "1.5"; the top revision is returned if omitted or empty.
Parameter: $ignorePermissions Set to "1" if checkAccessPermission() is already performed and OK; an oops URL is returned if user has no permission
Return: $text Topic text with embedded meta data; an oops URL for calling redirectCgiQuery() is returned in case of an error

saveTopicText( $web, $topic, $text, $ignorePermissions, $dontNotify ) ==> $oopsUrl

Description: Save topic text, typically obtained by readTopicText(). Topic data usually includes meta data; the file attachment meta data is replaced by the meta data from the topic file if it exists.
Parameter: $web Web name, e.g. "Main", or empty
Parameter: $topic Topic name, e.g. "MyTopic", or "Main.MyTopic"
Parameter: $text Topic text to save, assumed to include meta data
Parameter: $ignorePermissions Set to "1" if checkAccessPermission() is already performed and OK
Parameter: $dontNotify Set to "1" if not to notify users of the change
Return: $oopsUrl Empty string if OK; the $oopsUrl for calling redirectCgiQuery() in case of error

getPublicWebList( ) ==> @webs

Description: Get list of all public webs, e.g. all webs that do not have the NOSEARCHALL flag set in the WebPreferences
Return: @webs List of all public webs, e.g. ( "Main",  "Know", "TWiki" )

getTopicList( $web ) ==> @topics

Description: Get list of all topics in a web
Parameter: $web Web name, required, e.g. "Sandbox"
Return: @topics Topic list, e.g. ( "WebChanges",  "WebHome", "WebIndex", "WebNotify" )

Functions: Rendering

expandCommonVariables( $text, $topic, $web ) ==> $text

Description: Expand all common %VARIABLES%
Parameter: $text Text with variables to expand, e.g. "Current user is %WIKIUSER%"
Parameter: $topic Current topic name, e.g. "WebNotify"
Parameter: $web Web name, optional, e.g. "Main". The current web is taken if missing
Return: $text Expanded text, e.g. "Current user is TWikiGuest"

renderText( $text, $web ) ==> $text

Description: Render text from TWiki markup into XHTML as defined in TWiki.TextFormattingRules
Parameter: $text Text to render, e.g. "*bold* text and =fixed font="
Parameter: $web Web name, optional, e.g. "Main". The current web is taken if missing
Return: $text XHTML text, e.g. "<b>bold</b> and <code>fixed font</code>"

internalLink( $pre, $web, $topic, $label, $anchor, $createLink ) ==> $text

Description: Render topic name and link label into an XHTML link. Normally you do not need to call this funtion, it is called internally by renderText()
Parameter: $pre Text occuring before the TWiki link syntax, optional
Parameter: $web Web name, required, e.g. "Main"
Parameter: $topic Topic name to link to, required, e.g. "WebNotify"
Parameter: $label Link label, required. Usually the same as $topic, e.g. "notify"
Parameter: $anchor Anchor, optional, e.g. "#Jump"
Parameter: $createLink Set to "1" to add question linked mark after topic name if topic does not exist;
set to "0" to suppress link for non-existing topics
Return: $text XHTML anchor, e.g. "<a href="/cgi-bin/view/Main/WebNotify#Jump">notify</a>"

search text( $text ) ==> $text

Description: This is not a function, just a how-to note. Use: expandCommonVariables("%SEARCH{...}%" );
Parameter: $text Search variable
Return: "$text" Search result in TWiki.FormattedSearch format

formatGmTime( $time, $format ) ==> $text

Description: Format the time to GM time
Parameter: $time Time in epoc seconds
Parameter: $format Format type, optional. Default e.g. "31 Dec 2002 - 19:30", can be "iso" (e.g. "2002-12-31T19:30Z"), "rcs" (e.g. "2001/12/31 23:59:59", "http" for HTTP header format (e.g. "Thu, 23 Jul 1998 07:21:56 GMT")
Return: $text Formatted time string

Functions: File I/O

getDataDir( ) ==> $dir

Description: Get data directory (topic file root)
Return: $dir Data directory, e.g. "/twiki/data"

getPubDir( ) ==> $dir

Description: Get pub directory (file attachment root). Attachments are in $dir/Web/TopicName
Return: $dir Pub directory, e.g. "/htdocs/twiki/pub"

readTemplate( $name, $skin ) ==> $text

Description: Read a template or skin file. Embedded template directives get expanded
Parameter: $name Template name, e.g. "view"
Parameter: $skin Skin name, optional, e.g. "print"
Return: $text Template text

readFile( $filename ) ==> $text

Description: Read text file, low level. NOTE: For topics use readTopicText()
Parameter: $filename Full path name of file
Return: $text Content of file

saveFile( $filename, $text )

Description: Save text file, low level. NOTE: For topics use saveTopicText()
Parameter: $filename Full path name of file
Parameter: $text Text to save
Return: none

writeWarning( $text )

Description: Log Warning that may require admin intervention to data/warning.txt
Parameter: $text Text to write; timestamp gets added
Return: none

writeDebug( $text )

Description: Log debug message to data/debug.txt
Parameter: $text Text to write; timestamp gets added
Return: none

Copyright and License

Copyright (C) 2000-2003 Peter Thoeny, Peter@Thoeny.com

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details, published at http://www.gnu.org/copyleft/gpl.html

NOTE: Above text is copied from the TWiki::Plugins/PerlDocPlugin output of TWiki::Func in twiki format. In case you want to get dynamically updated documentation based on the actual Perl module, install the PerlDocPlugin and replace above text with %PERLDOC{"TWiki::Func"}%.

-- PeterThoeny - 31 Dec 2002

 


TWikiGlossary  

27 Jan 2003 - 09:11 - r1.2   PeterThoeny

TWiki Glossary

Simple glossary of TWiki terms

Term Definition
Attachment: Any type of file that is uploaded via browser and attached to a topic, where it can be viewed and downloaded. Details...
Form: Web form at the bottom of a page that can be filled in with additional info and classification for the particular topic Details...
Page: A regular Web page. A page in TWiki is composed of the template/skin decoration and topic content.
Plugin: Prepackaged server-side extension that adds all sorts of additional functions, seamlessly integrated into TWiki. Details...
Plugin API: The standard interface for creating TWiki Plugins and add-on programs that ensure a perfect integration. Details...
Preferences: The site-wide, single web and single user-level preferences settings. The settings are stored in TWikiPreferences, WebPreferences and TWikiUsers home pages. Details...
Site: A TWiki installation consisting of one or more webs. Details...
Skin: Skins overlay regular templates with alternate header/footer layout of pages; topic text is not affected. Skins are typically enabled site-wide or per web. Details...
Templates: (1) Regular templates define header/footer layout of pages; topic text is not affected. (2) Template topics set the default content for new topics. Details...
Topic: The content of a TWiki page, consisting of text, an optional form and optional attachments. It has a WikiName that's unique within its web. Details...
TWiki: A web-based collaboration platform targeting the corporate world. Contraction of "TakeFive Wiki". By chance, also happens to be the name of the AI robot star of the Buck Rogers 1979 movie and TV series. Features include browser based editing, automatic linking of text (based on ideas of the original WikiWikiWeb), revision control, file attachments, form handling, preferences settings, access control and more. Details...
TWiki.org: Official home site, center of all development. Details...
Variables: Text-strings of the form %VARIABLE% that are expanded on the fly into text, image, or any other type of embedded content; there are system variables coded into the main TWiki package, preferences settings, and Plugins variables. Details...
Web: A collection of topics under a common name. Various features, like search, access privileges, Plugin availability, template design, can be controlled on a web-wide basis. Details...

-- MikeMannix? - 27 Aug 2001
-- PeterThoeny - 27 Jan 2003

 


TWikiHistory  

01 Sep 2004 - 07:50 - r1.62   KarstenDroste

Appendix B: TWiki Development Timeline

01-Feb-2003 Release (Beijing)

01-Dec-2001 Release (Athens)

01-Sep-2001 Release

01-Dec-2000 Release

01-May-2000 Release

01-Sep-1999 Release

01-Jul-1999 Release

1998 Releases

Dev Flow

The typical TWiki development flow...

 


TWikiInstallationGuide  

01 Sep 2004 - 07:50 - r1.54   KarstenDroste

TWiki Installation Guide

Installation instructions for the TWiki 01-Feb-2003 production release. Update notes for the new RCS configuration are marked Dataframework.

These installation steps are based on the Apache web server on Linux. TWiki runs on other web servers and Unix systems, and should be fine with any web server and OS that meet the system requirements. Documentation for other platforms is somewhat limited:

Standard Installation

Request and download the TWiki 01-Feb-2003 distribution in Unix ZIP format from http://TWiki.org/download.html. Please review the AdminSkillsAssumptions before you install TWiki.

Step 1: Create & Configure the Directories

ALERT! NOTE: If you don't have access to your Web server configuration files - for example, if you're installing on an ISP-hosted account, or you don't have administrator privileges on your intranet server - use the alternative Step 1 instead.

Example httpd.conf entries:
 ScriptAlias /twiki/bin/ "/home/httpd/twiki/bin/"
 Alias /twiki/ "/home/httpd/twiki/"
 <Directory "/home/httpd/twiki/bin">
    Options +ExecCGI
    SetHandler cgi-script
    Allow from all
 </Directory>
 <Directory "/home/httpd/twiki/pub">
    Options FollowSymLinks +Includes
    AllowOverride None
    Allow from all
 </Directory>
 <Directory "/home/httpd/twiki/data">
    deny from all
 </Directory>
 <Directory "/home/httpd/twiki/templates">
    deny from all
 </Directory>

Step 1 for Non-Root Accounts

To install TWiki on a system where you don't have Unix/Linux root (administrator) privileges, for example, on a hosted Web account or an intranet server administered by someone else:

TWiki dir: What it is: Where to copy: Example:
twiki start-up pages root TWiki dir /home/smith/twiki/
twiki/bin CGI bin CGI-enabled dir /home/smith/twiki/bin
twiki/lib library files same level as twiki/bin /home/smith/twiki/lib
twiki/pub public files htdoc enabled dir /home/smith/twiki/pub
twiki/data topic data dir secure from public access /home/smith/twiki/data
twiki/templates web templates dir secure from public access /home/smith/twiki/templates

If you are not able to create the twiki/lib directory at the same level as the twiki/bin directory (e.g. because CGI bin directories can't be under your home directory and you don't have root access), you can create this directory elsewhere and edit the setlib.cfg file in the bin directory:

    # -------------- Change these settings if required

    $twikiLibPath = '/some/other/path/lib';   # Path to lib directory containing TWiki.pm

You can also edit $localPerlLibPath in the setlib.cfg file if you are not root and need to install additional CPAN modules, but can't update the main Perl installation files on the server. Just set this variable to the full pathname to your local lib directory, typically under your home directory.

Step 2: Set File Permissions

cd twiki/data
perl -pi~ -e 's/nobody:/www-data:/' */*,v

Step 3: Set the Main Configuration File

Step 4: Configure Site-Wide Email Preferences

Step 5: Finish Up from Your Browser

That's it for the standard virgin installation of TWiki. Read on for server-level customization options.

Additional Server-Level Options

With your new TWiki installation up and running, you can manage most aspects of your site from the browser interface. Only a few functions require access to the server file system, via Telnet or FTP. You can make these server-level changes during installation, and at any time afterwards.

Enabling Authentication of Users

That's it for a basic new web set-up!

Optionally, you can also:

ALERT! NOTE: User home topics are located in the TWiki.Main web - don't try to move them or create them in other webs. From any other web, user signatures have to point to TWiki.Main web, using a Main.UserName or %MAINWEB%.UserName format. (The %MAINWEB% variable is an advantage if you ever change the Main web name, but the standard Main.UserName is easier for users to enter, which is the bottom line!

TWiki File System Info

See Appendix A: TWiki File System for an installed system snapshot and descriptions of all files in the TWiki 01-Sep-2001 distribution.

-- PeterThoeny - 28 Dec 2002
-- MikeMannix? - 16 May 2002

 


TWikiLogos  

28 Jun 2002 - 07:26 - NEW   PeterThoeny

TWiki Logos

-- PeterThoeny - 28 Jun 2002

 


TWikiMetaData  

11 Dec 2002 - 07:30 - r1.11   PeterThoeny

TWiki Meta Data

Additional topic data, program-generated or from TWikiForms, is stored in META variable name/value pairs

Overview

TWikiMetaData uses META variables to store topic data that's separate from the main free-form content. This includes program-generated info like FileAttachment and topic movement data, and user-defined TWikiForms info. Use META variables to format and display Meta Data.

Meta Data Syntax

Example of Format
%META:TOPICINFO{version="1.6" date="976762663" author="PeterThoeny" format="1.0"}%
   text of the topic
%META:TOPICMOVED{from="Codev.OldName" to="Codev.NewName"
   by="JohnTalintyre" date="976762680"}%
%META:TOPICPARENT{name="NavigationByTopicContext"}%
%META:FILEATTACHMENT{name="Sample.txt" version="1.3" ... }%
%META:FILEATTACHMENT{name="Smile.gif" version="1.1" ... }%
%META:FORM{name="WebFormTemplate"}%
%META:FIELD{name="OperatingSystem" value="OsWin"}%
%META:FIELD{name="TopicClassification" value="PublicFAQ"}%

Meta Data Specifications

The current version of Meta Data is 1.0, with support for the following variables.

META:TOPICINFO

Key Comment
version Same as RCS version
date integer, unx time, seconds since start 1970
author last to change topic, is the REMOTE_USER
format Format of this topic, will be used for automatic format conversion

META:TOPICMOVED

This is optional, exists if topic has ever been moved. If a topic is moved more than once, only the most recent META:TOPICMOVED meta variable exists in the topic, older ones are to be found in the rcs history.

%META:TOPICMOVED{from="Codev.OldName" to="Codev.NewName" by="talintj" date="976762680"}%

Key Comment
from Full name, i.e., web.topic
to Full name, i.e., web.topic
by Who did it, is the REMOTE_USER, not WikiName
date integer, unx time, seconds since start 1970

Notes:

META:TOPICPARENT

Key Comment
name The topic from which this was created, WebHome if done from Go, othewise topic where ? or form used. Normally just topic, but is full web.topic format if parent is in a different Web. Renaming a Web will then only break a few of these references or they can be scanned and fixed.

META:FILEATTACHMENT

Key Comment
name Name of file, no path. Must be unique within topic
version Same as RCS revision
path Full path file was loaded from
size In bytes
date integer, unx time, seconds since start 1970
user the REMOTE_USER, not WikiName
comment As supplied when file uploaded
attr h if hidden, optional

Extra fields that are added if an attachment is moved:

Key Comment
movedfrom full topic name - web.topic
movedby the REMOTE_USER, not WikiName
movedto full topic name - web.topic
moveddate integer, unx time, seconds since start 1970

META:FORM

Key Comment
name A topic name - the topic represents one of the TWikiForms. Can optionally include the web name (i.e., web.topic), but doesn't normally

META:FIELD

Should only be present if there is a META:FORM entry. Note that this data is used when viewing a topic, the form template definition is not read.

Key Name
name Ties to entry in TWikiForms template, is title with all bar alphanumerics and . removed
title Full text from TWikiForms template
value Value user has supplied via form

Recommended Sequence

There is no absolute need for Meta Data variables to be listed in a specific order within a topic, but it makes sense to do so a couple of good reasons:

The recommended sequence is:

Viewing Meta Data in Page Source

When viewing a topic the Raw Text link can be clicked to show the text of a topic (i.e., as seen when editing). This is done by adding raw=on to URL. raw=debug shows the meta data as well as the topic data, ex: debug view for this topic

Rendering Meta Data

Meta Data is rendered with the %META% variable. This is mostly used in the view, preview and edit scripts.

Current support covers:

Variable usage: Comment:
%META{"form"}% Show form data, see TWikiForms.
%META{"attachments"}% Show attachments, except for hidden ones. Options:
all="on": Show all attachments, including hidden ones.
%META{"moved"}% Details of any topic moves.
%META{"parent"}% Show topic parent. Options:
dontrecurse="on": By default recurses up tree, at some cost.
nowebhome="on": Suppress WebHome.
prefix="...": Prefix for parents, only if there are parents, default "".
suffix="...": Suffix, only appears if there are parents, default "".
separator="...": Separator between parents, default is " > ".

Known Issues

At present, there is no Meta Data support for Plugins. However, the format is readily extendable and the Meta.pm code that supports the format needs only minor alteration.

-- JohnTalintyre - 29 Aug 2001
-- MikeMannix - 03 Dec 2001
-- PeterThoeny - 10 Jan 2002

 


TWikiPlannedFeatures  

23 Jan 2003 - 08:41 - r1.4   PeterThoeny

Related Topics

-- PeterThoeny - 17 Jan 2003

 


TWikiPlugins  

29 Jan 2003 - 07:21 - r1.21   PeterThoeny

TWiki Plugins

Plug-in enhanced feature add-ons, with a Plugin API for developers

Overview

You can add Plugins to extend TWiki's functionality, without altering the core program code. A plug-in approach lets you:

Everything to do with TWiki Plugins - demos, new releases, downloads, development, general discussion - is available at TWiki.org, in the TWiki:Plugins web.

Preinstalled Plugins

TWiki comes with three Plugins as part of the standard installation.

Installing Plugins

Each TWikiPlugin comes with full documentation: step-by-step installation instructions, a detailed description of any special requirements, version details, and a working example for testing.

Most Plugins can be installed in three easy steps, with no programming skills required:

  1. Download the zip file containing the Plugin, documentation, and any other required files, from TWiki:Plugins.
  2. Distribute the files to their proper locations - unzip the zip archive in your TWiki installation directory - if have a standard TWiki installation, this will distribute automatically. Otherwise, place the files according to the directory paths listed on the Plugin top in TWiki:Plugins.
  3. Check the demo example on the Plugin topic: if it's working, the installation was fine!

Special Requests: Some Plugins need certain Perl modules to be preinstalled on the host system. Plugins may also use other resources, like graphics, other modules, applications, templates. In these cases, detailed instructions are in the Plugin documentation.

Each Plugin has a standard release page, located in the TWiki:Plugins web at TWiki.org. In addition to the documentation topic (SomePlugin), there's a separate development page.

On-Site Pretesting

To test new Plugins on your installation before making them public, you may want to use one of these two approaches:

Managing Plugins

When you finish installing a Plugin, you should be able to read the user instructions and go. In fact, some Plugins require additional settings or offer extra options that you have to select. Also, you may want to make a Plugin available only in certain webs, or temporarily disable it. And may want to list all available Plugins in certain topics. You can handle all of these management tasks with simple procedures.

Setting Preferences

Installed Plugins can be toggled on or off, site-wide or by web, through TWikiPreferences and individual WebPreferences:

Plugin execution order in TWiki is determined by searching Plugin topics in a specific sequence: First, full web.topicname name, if specified in INSTALLEDPLUGINS; next, the TWiki web is searched; and finally, the current web.

Plugin-specific settings are done in individual Plugin topics. Two settings are standard for each Plugin:

  1. One line description, used to form the bullets describing the Plugins in the TextFormattingRules topic:
  2. Debug Plugin, output can be seen in data/debug.txt. Set to 0=off or 1=on:

Listing Active Plugins

Plugin status variables let you list all active Plugins wherever needed. There are two list formats:

DEMO: Automatically List Active Plugins Using Variables

Using %ACTIVATEDPLUGINS%:
On this TWiki site, the active Plugins are: DefaultPlugin, EditTablePlugin, InterwikiPlugin, TablePlugin.

Using %PLUGINDESCRIPTIONS%:
You can use any of these active TWiki Plugins:

The TWiki Plugin API

The Application Programming Interface (API) for TWikiPlugins provides the specifications for hooking into the core TWiki code from your external Perl Plugin module. The Plugin API is new to the Production version of TWiki with the 01-Sep-2001 release.

Available Core Functions

The TWikiFuncModule (lib/TWiki/Func.pm) implements ALL official Plugin functions. Plugins should ONLY use functions published in this module.

ALERT! If you use functions not in Func.pm, you run the risk of creating security holes. Also, your Plugin will likely break and require updating when you upgrade to a new version of TWiki.

Predefined Hooks

In addition to TWiki core functions, Plugins can use predefined hooks, or call backs, listed in the lib/TWiki/Plugins/EmptyPlugin.pm module.

Plugin Version Detection

To eliminate the incompatibility problems bound to arise from active open Plugin development, a Plugin versioning system and an API GetVersion detection routine are provided for automatic compatibility checking.

Creating Plugins

With a reasonable knowledge of the Perl scripting language, you can create new Plugins or modify and extend existing ones. Basic plug-in architecture uses an Application Programming Interface (API), a set of software instructions that allow external code to interact with the main program. The TWiki Plugin API Plugins by providing a programming interface for TWiki.

The DefaultPlugin Alternative

Anatomy of a Plugin

A basic TWiki Plugin consists of two elements:

The Perl module can be a block of code that connects with TWiki alone, or it can include other elements, like other Perl modules (including other Plugins), graphics, TWiki templates, external applications (ex: a Java applet), or just about anything else it can call. In particular, files that should be web-accessible (graphics, Java applets ...) are best placed as attachments of the MyFirstPlugin topic. Other needed Perl code is best placed in a lib/TWiki/Plugins/MyFirstPlugin/ directory.

The Plugin API handles the details of connecting your Perl module with main TWiki code. When you're familiar with the Plugin API, you're ready to develop Plugins.

Creating the Perl Module

Copy file lib/TWiki/Plugins/EmptyPlugin.pm to <name>Plugin.pm. The EmptyPlugin.pm module contains mostly empty functions, so it does nothing, but it's ready to be used. Customize it. Refer to the Plugin API specs for more information.

If your Plugin uses its own modules and objects, you must include the name of the Plugin in the package name. For example, write Package MyFirstPlugin::Attrs; instead of just Package Attrs;. Then call it using:

  use TWiki::Plugins::MyFirstPlugin::Attrs;
  $var = MyFirstPlugin::Attrs->new();

Writing the Documentation Topic

The Plugin documentation topic contains usage instructions and version details. It serves the Plugin files as FileAttachments for downloading. (The doc topic is also included in the distribution package.) To create a documentation topic:

  1. Copy the Plugin topic template from TWiki.org. To copy the text, go to TWiki:Plugins/PluginPackage and:
  2. Customize your Plugin topic.
  3. Save your topic, for use in packaging and publishing your Plugin.

OUTLINE: Doc Topic Contents
Check the Plugins web on TWiki.org for the latest Plugin doc topic template. Here's a quick overview of what's covered:

Syntax Rules: <Describe any special text formatting that will be rendered.>"

Example: <Include an example of the Plugin in action. Possibly include a static HTML version of the example to compare if the installation was a success!>"

Plugin Global Settings: <Description and settings for custom Plugin %VARIABLES%, and those required by TWiki.>"

Plugin Installation Instructions: <Step-by-step set-up guide, user help, whatever it takes to install and run, goes here.>"

Plugin Info: <Version, credits, history, requirements - entered in a form, displayed as a table. Both are automatically generated when you create or edit a page in the TWiki:Plugins web.>"

Packaging for Distribution

A minimum Plugin release consists of a Perl module with a WikiName that ends in Plugin, ex: MyFirstPlugin.pm, and a documentation page with the same name(MyFirstPlugin.txt).

  1. Distribute the Plugin files in a directory structure that mirrors TWiki. If your Plugin uses additional files, include them ALL:
  2. Create a zip archive with the Plugin name (MyFirstPlugin.zip) and add the entire directory structure from Step 1. The archive should look like this:

Publishing for Public Use

You can release your tested, packaged Plugin to the TWiki community through the TWiki:Plugins web. All Plugins submitted to TWiki.org are available for download and further development in TWiki:Plugins. Publish your Plugin in three steps:

  1. Post the Plugin documentation topic in the TWiki:Plugins web:
  2. Attach the distribution zip file to the topic, ex: MyFirstPlugin.zip
  3. Link from the doc page to a new, blank page named after the Plugin, and ending in Dev, ex: MyFirstPluginDev. This is the discussion page for future development. (User support for Plugins is handled in TWiki:Support.)

-- AndreaSterbini - 29 May 2001
-- PeterThoeny - 29 Jan 2003
-- MikeMannix - 03 Dec 2001

 


TWikiPreferences  

06 Oct 2005 - 09:03 - r1.56   PiaFricker

TWiki Site-Level Preferences

The following are site-level settings that affect all users in all webs on this TWikiSite. They can be selectively overwritten on the individual web level (see WebPreferences in each web), and on the user level (create preferences in your user account topic in the Main web, ex: Main.guest).

Web Preferences

ALERT! NOTE: They are typically redefined in individual WebPreferences topics

User Settings

ALERT! NOTE: They are typically redefined in topics of individual TWikiUsers

      * Set ATTACHEDIMAGEFORMAT = \t* $comment: <br />
        <img src="%ATTACHURLPATH%/$name" alt="$name" $size />

TWiki Platform Settings

Email and Proxy Server Settings

Email Link Settings

Plugins Settings

HTTP-EQUIV Settings

      * Set HTTP_EQUIV_ON_VIEW = 

      * Set HTTP_EQUIV_ON_EDIT = 

      * Set HTTP_EQUIV_ON_PREVIEW = 

Miscellaneous Settings

Access Control Settings

Creating New Preference Variables

You can introduce new VARIABLES and use them in your topics and templates. There is no need to change the TWiki engine (Perl scripts).

Related Topics

 


TWikiRegistration  

30 Oct 2005 - 12:28 - r1.19   PiaFricker

No permission to read topic TWikiRegistration - perhaps you need to log in?

 


TWikiRegistrationOLD  

01 Sep 2004 - 07:51 - r1.9   KarstenDroste

To edit pages on this TWiki Collaborative Web, you must have a registered user name in WikiNotation.

To register as a new user, simply fill out this form:

First & last name: **
Your WikiName: **
Intranet login name: **
Email address: **
Phone:
Department:
Office location: **
Comments :
(optional)  
     (Fields marked ** are required)

Submitting the form will automatically:

Once registered you can login using your WikiName and password.

If you have any questions about registration, send an email to caad-yearly@hbt.arch.ethz.ch.

 


TWikiShorthand  

01 Feb 2003 - 10:03 - NEW   PeterThoeny

TWiki Shorthand Basics

If you can enter text, you're ready for TWiki. With a few simple, intuitive TextFormattingRules, you'll be able to use plain text to create well-styled postings, instantly. Here's a fast-track guide to shorthand basics...

  1. Start items in a numbered list with [space][space][space][1][space].
  2. The "1" (or any number) will be replaced by the correct number, in order.
  3. To add a new paragraph without restarting list numbering, use the %BR% variable, like below:
    Text added (in new paragraph)
  4. and list numbering continues.

<verbatim>
unformatted text!
</verbatim>

 


TWikiSite  

12 May 2002 - 19:04 - r1.21   MikeMannix?

TWiki is a Web-based collaboration platform

TWiki is an UNUSUAL Web-based collaboration platform

TWiki is a powerful Web enhancement...

"TWiki" stands for...

Selected TWiki Topics...

ALERT! If you have to log-in to use TWiki, for example, if Twiki is running on an intranet, it automatically signs pages you edit and create with your WikiName. If your TWiki installation doesn't require a log-in, TWiki gives everyone the same username: TWikiGuest.

TWikiTM is a trademark of PeterThoeny, originator and lead developer.

-- MikeMannix? - 12 May 2002

 


TWikiSiteTools  

30 Jan 2003 - 07:43 - r1.7   PeterThoeny

TWiki Site Tools

Utilities for searching, navigation, and monitoring site activity

TWikiSiteTools include utilities for navigating, searching and keeping up with site activity. Preferences can be configured by web or site-wide. You are currently in the TWiki web. In particular, TWiki provides two highly configurable, automated site monitoring tools, WebNotify, to email alerts when topics are edited, and WebStats, to generate detailed activity reports.

WebNotify Recent Changes Alert

Each TWiki web has an automatic email alert service that sends a list of recent changes on a preset schedule, like once a day. Users can subscribe and unsubscribe using WebNotify in each web. The Perl script mailnotify is called by a background process at regular intervals. The script sends an automated email to subscribed users if topics were changed in a web since the script was last run.

TWiki handles WebNotify entries that include the WikiName of a user or a TWikiGroup and an optional e-mail address. Example entries in WebNotify:

    * Main.FredBloggs
    * Main.FredBloggs - secondary@home.com
    * Main.EngineeringGroup

The first entry is the default form, the notification gets sent to the e-mail address specified in the user's home page. The second entry lists an alternative e-mail address. The third entry specifies a group, the notification gets sent to each member of the group.

You can also use %MAINWEB% instead of Main, but this is not necessary even if you have renamed the main web by configuring $mainWebname in TWiki.cfg.

Configuring Outgoing Mail

TWiki will use the Net::SMTP module if it is installed on your system. Set this with the SMTPMAILHOST variable in TWikiPreferences.

The notify e-mail uses the default changes.tmpl template, or a skin if activated in the TWikiPreferences.

mailnotify also relies on two hidden files in each TWiki/data/[web] directory: .changes and .mailnotify. Make sure both are writable by your web server process. .changes contains a list of changes; go ahead and make this empty. .mailnotify contains a timestamp of the last time notification was done.

You can use an external mail program, like sendmail, if the Net::SMTP module is not installed. Set the program path in $mailProgram in TWiki.cfg.

Setting the Automatic Email Schedule

For Unix platforms: Edit the cron table so that mailnotify is called in an interval of your choice. Please consult man crontab of how to modify the table that schedules program execution at certain intervals. Example:

% crontab -e
15,45 * * * * (cd ~twiki/public_html/bin; ./mailnotify -q)
The above line will call mailnotify at 15 minutes and 45 minutes past every hour. The -q switch suppresses all normal output.

For ISP installations: Many ISPs don't allow hosted accounts direct cron access, as it's often used for things that can heavily load the server. Workaround scripts are available.

On Windows NT/2000: You can use a scheduled task if you have administrative privileges. Note: AT on an NT machine is pretty limited. Microsoft lists several third-party replacements (as of 2001-11-20, none of them free).

WebStatistics Site Usage Log

You can generate a listing manually, or on an automated schedule, of visits to individual pages, on a per web basis. Compiled as a running total on a monthly basis. Includes totals for Topic Views, Topic Saves, Attachment Uploads, Most Popular Topics with number of views, and Top Contributors showing total of saves and attachment uploads. Previous months are saved.

Configuring for Automatic Operation

Generating Statistics Manually by URL

WebSearch

WebSearch is an extremely fast and flexible search facility, part of the core TWiki feature set. Options include:

See also: TWikiVariables for including hard-coded searches in text.

WebChanges

To check for the most recently edited topics while on-site, use the WebChanges link, usually located on the upper toolbar. It lists the most recently modified topics, newest first, along with the first couple of lines of the page content.

This is simply a preset SEARCH. The number of topics listed by the limit parameter.:

%SEARCH{".*" web="TWiki" regex="on" nosearch="on" order="modified" 
reverse="on" limit="50"}%

WebIndex

WebIndex lists all web topics in alphabetical order, with the first couple of lines of text. This is simply a preset SEARCH:

%SEARCH{"\.*" scope="topic" regex="on" nosearch="on"}%

-- MikeMannix? - 01 Dec 2001
-- PeterThoeny - 30 Jan 2003

 


TWikiSkins  

08 Jan 2003 - 07:14 - r1.11   PeterThoeny

TWiki Skins

Skins overlay regular templates with alternate header/footer layouts; topic text is not affected

Overview

Skins are customized TWikiTemplates files. You can use skins to change the look of a TWiki topic, for example, the layout of the header and footer. Rendered text between header and footer does not change. You can also use skins to define an alternate view, like a view optimized for printing.

Defining Skins

Skin files are located in the twiki/templates directory and are named with the syntax: <scriptname>.<skin>.tmpl. For example, the Printable skin for the view template is view.print.tmpl.

Use the existing TWikiTemplates (like view.tmpl) or skin files as a base for your own skin, name it for example view.myskin.tmpl.

Variables in Skins

You can use template variables, TWikiVariables, and other predefined variables to compose your skins. Some commonly used variables in skins:

Variable: Expanded to:
%WIKILOGOURL% Link of page logo
%WIKILOGOIMG% Image URL of page logo
%WIKILOGOALT% Alt text of page logo
%WEBBGCOLOR% Web specific background color, defined in the WebPreferences
%WIKITOOLNAME% The name of your TWiki site
%SCRIPTURL% The script URL of TWiki
%SCRIPTSUFFIX% The script suffix, ex: .pl, .cgi
%WEB% The name of the current web. Note: It is recommended to URL-encode the variable in form actions with %INTURLENCODE{"%WEB%"}% for proper handling in an internationalized environment
%TOPIC% The name of the current topic. Note: It is recommended to URL-encode the variable in form actions with %INTURLENCODE{"%TOPIC%"}% for proper handling in an internationalized environment
%WEBTOPICLIST% Common links of current web, defined in the WebPreferences. It includes a #GoBox
%TEXT% The topic text, e.g. the content that can be edited
%META{"form"}% TWikiForm, if any
%META{"attachments"}% FileAttachment table
%META{"parent"}% The topic parent
%EDITTOPIC% Edit link
%REVTITLE% The revision title, if any, ex: (r1.6)
%REVINFO% Revision info, ex: r1.6 - 24 Dec 2002 - 08:12 GMT - Main.guest
%WEBCOPYRIGHT% Copyright notice, defined in the WebPreferences

The "Go" Box and Navigation Box

The %WEBTOPICLIST% includes a "Go" box to jump to a topic. The box also understand URLs, e.g. you can type http://www.google.com/ to jump to an external web site. The feature is handy if you build a skin that has a select box of frequently used links, like Intranet home, employee database, sales database and such. A little JavaScript gets into action on the onSelect method of the select tag to fill the selected URL into the "Go" box field, then submits the form.

Here is an example form that has a select box and the "Go" box for illustration purposes. You need to have JavaScript enabled for this to work:

Bare bones header for demo only
Welcome | Register | Changes | Topics | Index | Search | Go

Packaging and Publishing Skins

See TWiki:Plugins/SkinPackagingHowTo

Activating Skins

A skin can be activated in two ways:

The ?skin=name URL parameter overrides the SKIN Preference value.

-- PeterThoeny - 05 Jan 2003

 


TWikiSystemRequirements  

02 Feb 2003 - 01:26 - r1.28   PeterThoeny

TWiki System Requirements

Server and client requirements for TWiki 01-Feb-2003

Low client and server requirements are core features that keep TWiki widely deployable, particularly across a range of browser platforms and versions.

Server Requirements

TWiki is written in Perl 5, uses a number of shell commands, and requires RCS (Revision Control System), a GNU Free Software package. TWiki is developed in a basic Linux/Apache environment. It also works with Microsoft Windows, and should have no problem on any other platform that meets the requirements.

Required Server Environment
Resource Unix Windows*
Perl 5.005_03 or higher (5.6.1 recommended,
5.8.0 not recommended yet, see TWiki:Codev.UsingPerl58OnRedHat8)
Non-standard Perl modules Net::SMTP (or sendmail) Net::SMTP, MIME::Base64, Digest::SHA1
RCS 5.7 or higher (including GNU diff)
Optional, but the all-Perl RCS replacement is not currently recommended for live sites - see TWiki:Codev.RcsLite.
GNU diff GNU diff 2.7 or higher is required when not using the all-Perl RcsLite.
Install on PATH if not included with RCS (check version with diff -v)
Other external programs ls, fgrep, egrep
Cron/scheduler cron cron equivalents
Web server Apache 1.3 is well supported; Apache 2.0 is not recommended yet (see TWiki:Support.FailedAuthenticationWithApache2OnWinNT).
For other servers, CGI support, authentication, extended path required

ALERT! * Current documentation mainly covers Linux and Apache installations. See WindowsInstallCookbook for a Windows installation guide. See TWiki:Codev.TWikiOn for help with installation on various platforms including Unix, MacOS X, Apache mod_perl, web hosts, etc.

Client Requirements

The TWiki standard installation has extremely low browser requirements:

You can easily add functionality, by customizing TWikiTemplates, for one, while tailoring the browser requirements to your situation.

Known Issues

-- MikeMannix - 12 Jan 2002

 


TWikiTemplates  

01 Feb 2003 - 12:46 - r1.18   PeterThoeny

TWiki Templates

Definition of the templates used to render all HTML pages displayed in TWiki

Overview

The new modular template system offers flexible, easy control over the layout of all TWiki pages. The master template approach groups parts that are shared by several templates - like headers and footers - in a common file. Special variables allow individual layouts to include parts from a master template - variables are mixed with regular HTML markup for template-specific content. Templates are used to define page layout, and also to supply default content for new pages.

Major changes from the previous template system

Where the old templates were each complete HTML documents, the new templates are defined using variables to include template parts from a master file. You can now change one instance of a common element to update all occurrences; previously, every affected template had to be updated. This simplifies the conversion of templates into XHTML format, and provides a more versatile solution for templates and for TWikiSkins. The new system:

How Template Variables Work

Types of Template

There are three types of template:

Master Templates

Common parts, appearing in two or more templates, can be defined in a master template and then shared by others: twiki.tmpl is the default master template.

Template variable: Defines:
%TMPL:DEF{"sep"}% "|" separator
%TMPL:DEF{"htmldoctype"}% Start of all HTML pages
%TMPL:DEF{"standardheader"}% Standard header (ex: view, index, search)
%TMPL:DEF{"simpleheader"}% Simple header with reduced links (ex: edit, attach, oops)
%TMPL:DEF{"standardfooter"}% Footer, excluding revision and copyright parts
%TMPL:DEF{"oops"}% Skeleton of oops dialog

HTML Page Templates

TWiki uses HTML template files for all actions, like topic view, edit, and preview. This allows you to change the look and feel of all pages by editing just a few template files.

Templates are in the twiki/templates directory. As an example, twiki/templates/view.tmpl is the template file for the twiki/bin/view script. Templates can be overloaded by individual webs. The following search order applies:

  1. twiki/templates/$webName/$scriptName.tmpl
  2. twiki/templates/$scriptName.tmpl

HELP NOTE: TWikiSkins can be defined to overload the standard templates.

Special variables are used in templates, especially in view, to display meta data.

Template Topics

Template topics define the default text for new topics. There are three types of template topic:

Topic Name: What it is:
WebTopicViewTemplate Error page shown when you try to view a nonexistent topic
WebTopicNonWikiTemplate Alert page shown when you try to view a nonexistent topic with a non-WikiName
WebTopicEditTemplate Default text shown when you create a new topic.
All template topics are located in the TWiki web. The WebTopicEditTemplate can be overloaded. When you create a new topic, TWiki locates a topic to use as a content template according to the following search order:

  1. A topic name specified by the templatetopic CGI parameter.
  2. WebTopicEditTemplate in the current web
  3. WebTopicEditTemplate in the TWiki web

Edit Template Topics and Variable Expansion

The following variables get expanded when a user creates a new topic based on a template topic:

Variable: Description:
%DATE% Current date, e.g. 08 May 2009
%WIKIUSERNAME% User name, e.g. Main.guest
%URLPARAM{"name"}% Value of a named URL parameter
%NOP% A no-operation variable that gets removed. Useful to prevent a SEARCH from hitting an edit template topic; also useful to escape a variable like %URLPARAM%NOP%{...}%
%NOP{ ... }% A no-operation text that gets removed. Useful to write-protect an edit template topic, but not the topics based this template topic. See notes below. Example:
%NOP{
   * Set ALLOWTOPICCHANGE = Main.TWikiAdminGroup
}%

Notes:

All other variables are unchanged, e.g. are carried over "as is" into the new topic.

Template Topics in Action

Here is an example for creating new topics based on a specific template topic:

The above form asks for a topic name. A hidden input tag named templatetopic specifies ExampleTopicTemplate as the template topic to use. Here is the HTML source of the form:

<form name="new" action="%SCRIPTURLPATH%/edit%SCRIPTSUFFIX%/%INTURLENCODE{"%WEB%"}%/">
   * New example topic: 
     <input type="text" name="topic" value="ExampleTopic%SERVERTIME{$yearx$mox$day}%" size="23" />
     <input type="hidden" name="templatetopic" value="ExampleTopicTemplate" />
     <input type="hidden" name="onlywikiname" value="on" />
     <input type="submit" value="Create" />
     (date format is <nop>YYYYxMMxDD)
</form>

The onlywikiname parameter enforces WikiWords for topic names.

TIP TIP: You can use the %WIKIUSERNAME% and %DATE% variables in your topic templates to include the signature of the person creating a new topic. The variables are expanded into fixed text when a new topic is created. The standard signature is:
-- %WIKIUSERNAME% - %DATE%

Templates by Example

Attached is an example of an oops based template oopsbase.tmpl and an example oops dialog oopstest.tmpl based on the base template. %A% NOTE: This isn't the release version, just a quick, simple demo.

Base template oopsbase.tmpl

The first line declares a delimiter variable called "sep", used to separate multiple link items. The variable can be called anywhere by writing %TMPL:P{"sep"}%

%TMPL:DEF{"sep"}% | %TMPL:END%
<html>
<head>
  <title> %WIKITOOLNAME% . %WEB% . %TOPIC% %.TMPL:P{"titleaction"}%</title>
  <base href="%SCRIPTURL%/view%SCRIPTSUFFIX%/%WEB%/%TOPIC%">
  <meta name="robots" content="noindex">
</head>
<body bgcolor="#FFFFFF">
<table width="100%" border="0" cellpadding="3" cellspacing="0">
  <tr>
    <td bgcolor="%WEBBGCOLOR%" rowspan="2" valign="top" width="1%">
      <a href="%WIKIHOMEURL%">
      <img src="%PUBURLPATH%/wikiHome.gif" border="0"></a>
    </td>
    <td>
      <b>%WIKITOOLNAME% . %WEB% . </b><font size="+2">
      <B>%TOPIC%</b> %TMPL:P{"titleaction"}%</font>
    </td>
  </tr>
  <tr bgcolor="%WEBBGCOLOR%">
    <td colspan="2">
      %TMPL:P{"webaction"}%
    </td>
  </tr>
</table>
--- ++ %TMPL:P{"heading"}%
%TMPL:P{"message"}%
<table width="100%" border="0" cellpadding="3" cellspacing="0">
  <tr bgcolor="%WEBBGCOLOR%">
    <td valign="top">
      Topic <b>%TOPIC%</b> . {
        %TMPL:P{"topicaction"}%
      }
    </td>
  </tr>
</table>
</body>

Test template oopstest.tmpl

Each oops template basically just defines some variables and includes the base template that does the layout work.

%TMPL:DEF{"titleaction"}% (test =titleaction=) %TMPL:END%
%TMPL:DEF{"webaction"}% test =webaction= %TMPL:END%
%TMPL:DEF{"heading"}%
Test heading %TMPL:END%
%TMPL:DEF{"message"}%
Test =message=. Blah blah blah blah blah blah blah blah blah blah blah...

   * Some more blah blah blah blah blah blah blah blah blah blah...
   * Param1: %PARAM1%
   * Param2: %PARAM2%
   * Param3: %PARAM3%
   * Param4: %PARAM4%
%TMPL:END%
%TMPL:DEF{"topicaction"}%
Test =topicaction=:
[[%WEB%.%TOPIC%][OK]] %TMPL:P{"sep"}%
[[%TWIKIWEB%.TWikiRegistration][Register]] %TMPL:END%
%TMPL:INCLUDE{"oopsbase"}%

Sample screen shot of oopstest.tmpl

With URL: .../bin/oops/Sandbox/TestTopic2?template=oopstest&param1=WebHome&param2=WebNotify

testscreen.gif

Known Issues

-- PeterThoeny - 01 Feb 2003
-- MikeMannix - 14 Sep 2001
-- TWiki:Main/DavidLeBlanc - 11 Mar 2002

 


TWikiTopics  

01 Feb 2003 - 11:46 - r1.12   PeterThoeny

TWiki Topics

The basic building block of a TWiki site is called a topic, identified by a unique, hopefully descriptive, WikiWord title. It may seem easier just to call them pages, but specifically a topic is the content of a page. The distinction seems small but will become more important as your skill using TWiki increases. TWikiSites are built using topics.

Characteristics

A TWiki topic is a rich information unit. Each topic has:

Features that can be used by topics and sites include:

The configuration of your TWiki site, skins and your personal user account can modify the way these features are used and presented to you.

Creating and editing topics

A primary purpose of TWiki is to make it incredibly easy for you to add and edit information on existing topics, create new topics, and link between TWiki topics.

Another way to add a topic is to type a new topic name in the Go box or an unknown topic URL. You can type in either a WikiName to create the topic in the current web or Web.TopicName to create a topic in a different web than the current page. Topics created with the Go box or URLs do not have parent meta-data defined.

Other features

The color-coded toolbar at the bottom of every topic displays a series of links, including:

It looks complicated, but the basics you need to begin with are very simple to use. The flexible and optional features are ready when you care to learn about them - the only way to confuse yourself or your site set-up and users is by using features you really don't need. Unlike the usual expensive, complex collaboration and project management packages, TWiki is fully functional and effective just by typing in text and making WikiWord links. All the additional features are there, but only if you need them!

Renaming, moving or deleting topics

You can rename, move and delete individual topics by clicking More on the control strip at the bottom of every page. The access settings for a topic, web or entire site may be disabled for one or more of the three options, depending on your site set-up and access permissions.

  1. Go to the top you want to change, click More > Rename/move
  2. To move or delete: select the target web (Trash to delete)from the pull-down menu (otherwise, leave on the current web)
  3. To rename: fill in a new WikiName (otherwise, leave the current topic name)
  4. To update links: From the list of topics that show links to the topic you're changing, uncheck each entry you DON'T want to update - only checked links will be updated;
  5. Click Rename/move: the topic is renamed and/or moved, and the checked links to the topic are updated.

HELP Deleting means moving a topic to the Trash web. Since all webs share the one Trash, name conflicts may come up.

Reviewing and Reverting

RCS revision control automatically saves all topic changes. To look at earlier versions of a topic, click on Diffs link in topic commands. If you would like to revert to an earlier version or reclaim part of an earlier version, just copy from the old topic revision to the current topic revision. This is a step by step set of instructions:
  1. In the Diffs view, take note of what version of the topic you want to reclaim and then return to View.
  2. Select More in the topic commands.
  3. Under "View previous topic revision," enter the version number you want to reclaim and check "raw text format." Then click on "View revision."
  4. Select either the portion of that version you want to reclaim or the entire text of the topic if you want to revert completely to that version. Select Copy under your browser's Edit menu.
  5. Return to the most recent version of the topic and select Edit from the topic commands.
  6. Either paste in the portion of the topic you wish to reclaimed or replace the entire text with the text you copied from the earlier version.
  7. Preview and save the topic.
See: ManagingTopics for more details.

-- MikeMannix - 22 May 2002
-- GrantBow - 17 Jan 2003

 


TWikiTutorial  

01 Sep 2004 - 07:50 - r1.13   KarstenDroste

20-Minute TWiki

This step-by-step, hands-on tutorial gets you up to speed with all the TWikiSite basics, in mere minutes...

1. Get set...

Open two browser windows, so that you can follow these steps in one window, while trying things out in the other.

2. Take a quick tour...

A TWikiSite is divided into webs; each one usually represents one area of collaboration. You can navigate the webs from the upper right corner of each web page.

3. Open a private account...

To edit topics, you need to have a TWiki account.

4. Check out TWiki users, groups, offices...

5. Test the page controls...

Go to the bottom of the page to see what you can do. The color-coded control strip has a collection of action links:

6. Change a page, and create a new one...

Go to the Sandbox. This is the sandbox web, where you can make changes and try it all out at will.

7. Use your browser to upload files as page attachments...

You can attach any type of file to a topic - documents, images, programs, whatever - where they can be opened, viewed, or downloaded.

8. Get email alerts whenever pages are changed...

WebNotify is a subscription service that automatically notifies you by email when topics change in a TWiki web. This is a convenience service - for many people, checking email is easier than checking the Web.
That's it! You're now equipped with all the TWiki essentials. You are ready to roll.

NOTE: When first using TWiki, it will probably seem strange to be able to change other people's postings - we're used to separating individual messages, with email, message boards, non-Wiki collaboration platforms. Don't worry about it. You can't accidentally delete important stuff - you can always check previous versions, and copy-and-paste from them if you want to undo any changes. After a short while, TWiki-style free-form communication becomes second-nature. You'll expect it everywhere!

-- MikeMannix? - 01 Dec 2001

 


TWikiUpgradeGuide  

01 Sep 2004 - 07:50 - r1.4   KarstenDroste

TWiki Upgrade Guide

Upgrade from the previous TWiki 01-Dec-2001 production release to TWiki 01-Feb-2003

Overview

This guide describes how to upgrade from TWiki 01-Dec-2001 to TWiki 01-Feb-2003. The new version involves several new features and numerous enhancements to the previous version.

Upgrade Requirements

Major Changes from TWiki 01-Dec-2001

Upgrade Procedure from 01-Dec-2001 to 01-Feb-2003 Release

The following steps describe the upgrade assuming that $TWIKIROOT is the root of your current 01-Dec-2001 release. As written this will require some downtime. A process for switching over without downtime is described at the end of this section.

  1. Back up and prepare:
  2. Update files in TWiki root:
  3. Update template files:
  4. Update script files:
  5. Update library files:
  6. Update data files:
  7. Adapt the other webs (all other than TWiki and _default):
  8. Update pub files:
  9. Update TWikiPreferences to authorize users to create webs:
  10. Verify installation:

Note: These steps assume a downtime during the time of upgrade. You could install the new version in parallel to the existing one and switch over in an instant without affecting the users. As a guideline, install the new version into $TWIKIROOT/bin1, $TWIKIROOT/lib1, $TWIKIROOT/templates1, $TWIKIROOT/data/TWiki1 (from data/TWiki), $TWIKIROOT/pub/TWiki1 (from pub/TWiki), and configure TWiki.cfg to point to the same data and pub directory like the existing installation. Once tested and ready to go, reconfigure $TWIKIROOT/bin1/setlib.cfg and $TWIKIROOT/lib1/TWiki.cfg, then rename $TWIKIROOT/bin to $TWIKIROOT/bin2, $TWIKIROOT/bin1 to $TWIKIROOT/bin. Do the same with the lib, templates and data/TWiki directories.

Known Issues

-- PeterThoeny - 01 Feb 2002
-- MartinRaabe? - 15 Jan 2003

 


TWikiUpgradeTo01Dec2000  

01 Sep 2004 - 07:50 - r1.16   KarstenDroste

TWiki Upgrade Notes for Version 01 May 2000

If you are coming from a version earlier than the 01 May 2000 production release, please see TWikiUpgradeTo01May2000 first. For the latest version read TWikiUpgradeGuide.

The 01 Dec 2000 release has these changes that affect the upgrade of the 01 May 2000 version:

This upgrade is somewhat more labor intensive, mainly caused by splitting up the TWiki.Main web. Please note that subsequent updates will be much easier because user related topics (in TWiki.Main web) and TWiki related documents (in TWiki.TWiki web) have been separated.

These are the steps you need to perform to upgrade the 01 May 2000 version to the 01 Dec 2000 release: [ We assume export TWIKIROOT=/some/dir/ ]

-- PeterThoeny - 08 Nov 2000

 


TWikiUpgradeTo01Dec2001  

01 Sep 2004 - 07:49 - r1.32   KarstenDroste

TWiki Upgrade Guide

Upgrade from TWiki 01-Dec-2000 or TWiki 01-Sep-2001 to TWiki 01-Dec-2001 (previous to new full release)

This guide describes how to upgrade either from TWiki 01-Dec-2000 or TWiki 01-Sep-2001 to TWiki 01-Dec-2001.

Upgrade Requirements

Major Changes from TWiki 01-Sep-2001

The latest 01-Dec-2001 release includes the following new features and enhancements compared to the 01-Sep-2001 release:

Major Changes from TWiki 01-Dec-2000

The 01-Sep-2001 release includes the following new features and enhancements compared to the 01-Dec-2000 release:

TWiki Directory Structure and File Names

The TWiki directory structure remains the same, with one exception, the TWiki configuration file and Perl modules have been moved from the twiki/bin directory into it's own twiki/lib directory tree. The following files have been renamed and moved:

From TWiki 01-Dec-2000: To TWiki 01-Dec-2001:
twiki/bin/wikicfg.pm twiki/lib/TWiki.cfg
twiki/bin/wiki.pm twiki/lib/TWiki.pm
twiki/bin/wikiaccess.pm twiki/lib/TWiki/Access.pm
twiki/bin/wikiprefs.pm twiki/lib/TWiki/Prefs.pm
twiki/bin/wikisearch.pm twiki/lib/TWiki/Search.pm
twiki/bin/wikistore.pm twiki/lib/TWiki/Store.pm

A new twiki/lib/TWiki/Plugins directory contains the new Plugin modules.

Standard Upgrade Procedure from 01-Sep-2001 to 01-Dec-2001 Release

This incremental update can be performed easily.

The following steps describe the upgrade assuming that $TWIKIROOT is the root of your current 01-Sep-2001 release.

  1. Back up and prepare:
  2. Update files in TWiki root:
  3. Update template files:
  4. Update script files:
  5. Update library files:
  6. Update data/TWiki files: (in case you want the updated docs)
  7. Update pub/TWiki files:

Standard Upgrade Procedure from 01-Dec-2000 to 01-Dec-2001 Release

The idea is to have the new and old installation work in parallel so that you can test the new installation before switching over. That way you can make the switch on your live TWiki installation within one minute without affecting the users.

Before Switch: After Switch:
Current 01-Dec-2000: New 01-Dec-2001: Obsolete 01-Dec-2000: New 01-Dec-2001:
twiki/templates/ twiki/templates2/ twiki/templates1/ twiki/templates/
twiki/bin/ twiki/bin/2/ (overwritten) twiki/bin/
(N/A) twiki/bin/lib/ (N/A) twiki/lib/
twiki/data/TWiki twiki/data/TWiki2 twiki/data/TWiki1 twiki/data/TWiki
(other directories do not change)

Alternatively you could move the existing installation away, install the 01-Dec-2001 release into it's place and move your webs and pub files back.

Follow this step-by-step guide to upgrade from the 01-Dec-2000 TWiki to the 01-Dec-2001 release, importing your original page data and related files:

Pre-Upgrade Preparation

Two major areas of TWiki functionality - TWikiTemplates and TWikiForms (input forms associated with a topic)- are entirely different in the new TWiki. If you've customized your templates or use Category Tables, read those sections before starting your upgrade.

The following steps describe the upgrade on Unix. Windows setup is very similar. It's assumed that $TWIKIROOT is the root of your current 01-Dec-2000 release, ex: export TWIKIROOT=/some/dir/

Step 1: Backup & Unpack

  1. Back up all existing TWiki directories twiki/bin, twiki/pub, twiki/data, twiki/templates.
  2. Create a temporary directory and unpack the ZIP file there:
    mkdir -p ~/tmp/
    cp -p ~/downloads/TWiki20011201.zip ~/tmp/
    cd ~/tmp/
    unzip ~/tmp/TWiki20011201.zip

Step 2: Upgrade TWiki document files

  1. Move the document files to your TWiki root ( twiki ):
    mv ~/tmp/TWiki*.html $TWIKIROOT
    mv ~/tmp/index.html $TWIKIROOT
    mv ~/tmp/readme.txt $TWIKIROOT
    mv ~/tmp/license.txt $TWIKIROOT

Step 3: Install new template files

  1. Move & rename the template directory to a temporary twiki/templates2 directory, ex:
    mv ~/tmp/templates $TWIKIROOT/templates2
  2. Pay attention to the file and directory permissions (security issue). Set file permissions, ex:
    chmod 644 *.cgi

Step 4: Install new data and pub files

  1. Move the TWiki web to a temporary TWiki2 twiki/data/TWiki2 directory. Do the same to files attached to this web, ex:
    mv ~/tmp/data/TWiki $TWIKIROOT/data/TWiki2
    mv ~/tmp/pub/TWiki $TWIKIROOT/pub/TWiki2
  2. Move & rename the Know web to a temporary twiki/data/Know2 directory, ex:
    mv ~/tmp/data/Know $TWIKIROOT/data/Know2
    mv ~/tmp/pub/Know $TWIKIROOT/pub/Know2
  3. Move the _default and Trash web, ex:
    mv ~/tmp/data/_default $TWIKIROOT/data
    mv ~/tmp/data/Trash $TWIKIROOT/data
  4. Move the MIME types file, ex:
    mv ~/tmp/data/mime.types $TWIKIROOT/data
  5. Move the TWiki logo files, ex:
    mv ~/tmp/pub/*.gif $TWIKIROOT/pub
  6. Pay attention to the file permissions of the TWiki2 and Know2 directories and its files. The files must be writable by the cgi-scripts (usually user nobody).
  7. In case the cgi-scripts are not running as user nobody: The *,v RCS repository files delivered with the installation package are locked by user nobody and need to be changed to the user of your cgi-scripts, e.g., www-data. A simple way to switch the locker of the RCS files is to use sed:
    for f in *,v; do sed 's/nobody\:/www-data\:/' $f > x; mv x $f; done

Step 5: Install new CGI scripts

  1. Move & rename the CGI script directory to a temporary twiki/bin/2 directory, ex:
    mv ~/tmp/bin $TWIKIROOT/bin/2
  2. If necessary, change the script names to include the required extension, ex: .cgi
  3. Copy any additional scripts you might have from the 01-Dec-2000 release, ex:
    cp -p $TWIKIROOT/bin/somescript $TWIKIROOT/bin/2
  4. In case you use basic authentication, rename .htaccess.txt to .htaccess and customize it, ex:
    cd $TWIKIROOT/bin/2
    mv .htaccess.txt .htaccess
    diff ../.htaccess .
    and merge the content
  5. Pay attention to the file and directory permissions (security issue). Set permissions, ex:
    chmod 755 *.cgi

Step 6: Install new Perl library files

  1. Move the lib directory to a temporary twiki/bin/lib directory, ex:
    mv ~/tmp/lib $TWIKIROOT/bin
  2. Pay attention to the file and directory permissions (security issue). Set permissions, ex:
    chmod 644 *.pm

Step 7: Set configurations and test installation

  1. Merge the content of the old twiki/bin/wikicfg.pm into the new twiki/lib/TWiki.cfg configuration file. Use the diff command to find out the differences, ex:
    cd $TWIKIROOT/bin/lib
    diff ../wikicfg.pm TWiki.cfg
  2. Make sure to set the correct temporary location of templates and scripts, ex:
    $scriptUrlPath    = "/twiki/bin/2";
    $templateDir      = "/home/httpd/twiki/templates2";
  3. Do not merge the functions extendHandleCommonTags, extendGetRenderedVersionOutsidePRE, extendGetRenderedVersionInsidePRE from the old twiki/bin/wikicfg.pm. This is now handled by the Default plugin twiki/lib/TWiki/Plugins/Default.pm
  4. Test your new TWiki installation to see if you can view topics. Point your browser to the old installation and fix the URL to see the new installation, ex:

Step 8: Update topics

You can do the following changes using your old TWiki 01-Dec-2000 or new TWiki 01-Dec-2001 installation. Pointing your browser to the old installation for edit-copy-edit-paste operations is recommended, so that users don't get surprised by meta data content showing up in topics.

  1. Remember that you now have two TWiki webs:
  2. In case you customized TWikiRegistrationPub, merge your changes back into TWiki2.TWikiRegistration.
  3. Copy to TWiki2 any topics that you created in the TWiki web.
  4. In TWiki2.TWikiPreferences, merge the old TWiki.TWikiPreferences settings and customize it.
  5. In WebPreferences of all webs, add or change the following web preferences: (see TWiki.WebPreferences)
  6. Optional: In WebSearch of all webs, replace content with this one line:
    %INCLUDE{"%TWIKIWEB%.WebSearch"}%
  7. Optional: In WebChanges of all webs, replace content with this one line:
    %INCLUDE{"%TWIKIWEB%.WebChanges"}%

Step 9: Customize template files

NOTE: Skip this step if you did not customize your template files.

  1. Remember that you have now two template directories:
  2. Customized templates and skins need to be upgraded to the new TWikiTemplates. This isn't difficult, but you have be familiar with the new template set-up before starting the conversion. The safest way is to use the new templates as a base and to merge your changes back. Changes in new templates:
  3. Form Templates replace the TWikiCategoryTables:
  4. For each web that has a custom notedited.tmpl template, create an equivalent WebTopicEditTemplate to conform with the new TemplateTopics. The new format replaces the notedited.tmpl, notext.tmpl and notwiki.tmpl templates.

Step 10: Switch over to new installation

In this step, you move the working 01-Dec-2001 installation to the old 01-Dec-2000 installation, so that users don't have to change the URL.

  1. Test your new 01-Dec-2001 installation under twiki/bin/2/view to make sure everything works as expected.
  2. Edit $TWIKIROOT/bin/lib/TWiki.cfg and remove the /2 from $scriptUrlPath and $templateDir, ex:
    $scriptUrlPath    = "/twiki/bin";
    $templateDir      = "/home/httpd/twiki/templates";
  3. Rename the TWiki2 web to TWiki, including attachments, ex:
    cd $TWIKIROOT/data
    mv TWiki TWiki1
    mv TWiki2 TWiki
    cd $TWIKIROOT/pub
    mv TWiki TWiki1
    mv TWiki2 TWiki
  4. Rename the templates2 directory to templates, ex:
    cd $TWIKIROOT
    mv templates templates1
    mv templates2 templates
  5. Move the lib directory one level up from $TWIKIROOT/bin/lib to $TWIKIROOT/lib, ex:
    cd $TWIKIROOT
    mv bin/lib .
  6. Copy content of bin/2 to bin, ex:
    cd $TWIKIROOT/bin
    cp -p bin/2/* .
    cp -p bin/2/.htaccess .
  7. Point your browser to the original URL and make sure the relocated 01-Dec-2001 installation works as expected: check browsing, searching and user registration.
  8. Clean up and remove obsolete directories:

Step 11: Test the TWiki Plugins

  1. Test the new TWikiPlugins by checking the Plugins settings in TWikiPreferences.
  2. If you have customized the functions extendHandleCommonTags, extendGetRenderedVersionOutsidePRE and extendGetRenderedVersionInsidePRE in twiki/bin/wikicfg.pm:

General Format Changes

Known Issues

-- JohnTalintyre - 18 Jul 2001
-- PeterThoeny - 03 Dec 2001
-- MikeMannix? - 05 May 2002

 


TWikiUpgradeTo01May2000  

01 Sep 2004 - 07:50 - r1.5   KarstenDroste

To upgrade an earlier TWiki version like 01 Sep 1999 to version 01 May 2000 you should do the following things:

-- PeterThoeny - 28 Apr 2000

 


TWikiUserAuthentication  

01 Sep 2004 - 07:50 - r1.16   KarstenDroste

TWiki User Authentication

TWiki site access control and user activity tracking options

TWiki does not authenticate users internally, it depends on the REMOTE_USER environment variable. This variable is set when you enable Basic Authentication (.htaccess) or SSL "secure server" authentication (https protocol).

TWiki uses visitor identification to keep track of who made changes to topics at what time and to manage a wide range of personal site settings. This gives a complete audit trail of changes and activity.

Authentication Options

No special installation steps are required if the server is already authenticated. If it isn't, you have three standard options for controlling user access:

  1. Forget about authentication to make your site completely public - anyone can browse and edit freely, in classic Wiki mode. All visitors are assigned the TWikiGuest default identity, so you can't track individual user activity.
  2. Use SSL (Secure Sockets Layer; HTTPS) to authenticate and secure the whole server.
  3. Use Basic Authentication (.htaccess) to control access by protecting key scripts: attach, edit=, installpasswd, preview, rename, save, upload using the .htaccess file. The TWikiInstallationGuide has step-by-step instructions.

Partial Authentication

Tracking by IP address is an experimental feature, enabled in lib/TWiki.cfg. It lets you combine open access to some functions, with authentication on others, with full user activity tracking:

Quick Authentication Test - Use the %WIKIUSERNAME% variable to return your current identity:

TWiki Username vs. Login Username

This section applies only if your TWiki site is installed on a server that is both authenticated and on an intranet.

TWiki internally manages two usernames: Login Username and TWiki Username.

TWiki can automatically map an Intranet (Login) Username to a TWiki Username, provided that the username pair exists in the TWikiUsers topic. This is also handled automatically when you register.

NOTE: To correctly enter a WikiName - your own or someone else's - be sure to include the Main web name in front of the Wiki username, followed by a period, and no spaces. Ex:
Main.WikiUsername or %MAINWEB%.WikiUsername
This points WikiUser to the TWiki.Main web, where user registration pages are stored, no matter which web it's entered in. Without the web prefix, the name appears as a NewTopic? everywhere but in the Main web.

Changing Passwords

Change and reset passwords using forms on regular pages. Use TWikiAccessControl to restrict use as required.

Change password

Forgot your old password? Then use ResetPassword instead. Please only use ResetPassword in case you really forgot your password. Thank you.

Your WikiName: **
Old password: **
New password: **
Retype new password: **
     (Fields marked ** are required)

After submitting this form your password will be changed.

Request for reset of password

Please only use this ResetPassword form in case you really forgot your password. Otherwise just change it using ChangePassword. Thank you.

Your WikiName: **
New password: **
Retype new password: **
     (Fields marked ** are required)

After submitting this form you will see a page with your new password appearing encrypted.

-- MikeMannix? - 19 May 2002

 


TWikiUsernameVsLoginUsername  

01 Sep 2004 - 07:50 - r1.8   KarstenDroste

TWiki Username vs. Login Username

This section applies only if your TWiki is installed on a server that is both authenticated and on an intranet.

TWiki internally manages two usernames: Login username and TWiki username.

TWiki can map the intranet username to the Wiki username automatically, provided that the Login username and Wiki username pair has been entered in the TWikiUsers topic. This happens automatically when you register.

NOTE: To correctly enter a WikiName - your own or someone else's - be sure to specify the Main web in front of the Wiki username: write Main.WikiUsername or %MAINWEB%.WikiUsername. This assures that the name will be linked automatically to the Main web, where user home pages are stored, even if the text is entered in a different web.

-- PeterThoeny - 30 Jan 2003

 


TWikiVariables  

27 Jan 2003 - 08:22 - r1.62   PeterThoeny

TWiki Variables

Special text strings expand on the fly to display user data or system info

TWikiVariables are text strings - %VARIABLE% - that expand into content whenever a page is opened. When a topic is rendered for viewing, VARIABLES are replaced by data, either user-entered, or info automatically generated by TWiki (like the date, or the current username). There are predefined variables, and Preference variables that you configure. You can also define custom variables, with new names and values.

Predefined Variables

Most predefined variables return values that were either set in the lib/twiki.cfg file, when TWiki was installed, or taken from server info (like current username, or date and time). Many of the variables let you format the appearance of the display results.

This version of TWiki - 04 Sep 2004 $Rev: 1742 $ - expands the following variables (enclosed in % percent signs):

Variable: Expanded to:
%WIKIHOMEURL% The base script URL of TWiki, is the link of the Home icon in the upper left corner, is http://your.domain.com/twiki
%SCRIPTURL% The script URL of TWiki, is http://wiki.arch.ethz.ch/caadtwiki/bin
%SCRIPTURLPATH% The path of the script URL of TWiki, is /caadtwiki/bin
%SCRIPTSUFFIX% The script suffix, ex: .pl, .cgi is
%PUBURL% The public URL of TWiki, is http://wiki.arch.ethz.ch/caadtwiki/pub
Example: You can refer to a file attached to another topic as %PUBURL%/%WEB%/OtherTopic/image.gif
%PUBURLPATH% The path of the public URL of TWiki, is /caadtwiki/pub
%ATTACHURL% The attachment URL of the current topic, is http://wiki.arch.ethz.ch/caadtwiki/pub/TWiki/TWikiVariables
Example: If you attach a file you can refer to it as %ATTACHURL%/image.gif
%ATTACHURLPATH% The path of the attachment URL of the current topic, is /caadtwiki/pub/TWiki/TWikiVariables
%URLPARAM{"name"}% Returns the value of a URL parameter. Note that there is a low risk that this variable could be misused for cross-scripting. Ex: %URLPARAM{"skin"}% returns print for a .../view/TWiki/TWikiVariables?skin=print URL. Is
%URLENCODE{"string"}% Encodes a string for use as a URL parameter. Ex: %URLENCODE{"spaced name"}% returns spaced%20name
%WIKITOOLNAME% The name of your TWiki site - TWiki
%WIKIVERSION% Your current TWiki version - 04 Sep 2004 $Rev: 1742 $
%USERNAME% Your login username - guest
%WIKINAME% Your Wiki username. Same as %USERNAME% if not defined in the TWikiUsers topic. Is guest
%WIKIUSERNAME% Your %WIKINAME% including the Main web name - always use full signatures - Main.guest
%MAINWEB% The web containing TWikiUsers, OfficeLocations and TWikiGroups is Main
%TWIKIWEB% The web containing all documentation and site-wide preference settings for TWiki - TWiki
%WEB% The current web is TWiki
%BASEWEB% The web name where the includes started, e.g. the web of the first topic of nested includes. Same as %WEB% in case there is no include.
%INCLUDINGWEB% The web name of the topic that includes the current topic - same as %WEB% if there is no INCLUDE.
%HOMETOPIC% The home topic in each web - WebHome
%NOTIFYTOPIC% The notify topic in each web - WebNotify
%WIKIUSERSTOPIC% The index topic of all registered users - TWikiUsers
%WIKIPREFSTOPIC% The site-wide preferences topic - TWikiPreferences
%WEBPREFSTOPIC% The local web preferences topic in each web - WebPreferences
%STATISTICSTOPIC% The web statistics topic WebStatistics
%TOPIC% The current topic name - TWikiVariables
%BASETOPIC% The name of the topic where a single or nested INCLUDE started - same as %TOPIC% if there is no INCLUDE.
%INCLUDINGTOPIC% The name of the topic that includes the current topic. Same as %TOPIC% in case there is no include.
%SPACEDTOPIC% The current topic name with added spaces, for regular expression search of Ref-By, is TWiki%20*Variables
%TOPICLIST{"format"}% Topic index of a web. The "format" defines the format of one topic item. It may include variables: The $name variable gets expanded to the topic name; the $web variable gets expanded to the name of the web. Parameters are format, separator and web:
Parameter: Description: Default:
"format" Format of one line, may include $name and $web variables "$name"
format="format" (Alternative to above) "$name"
separator=", " line separator "\n" (new line)
web="Name" Name of web Current web
Examples:
%TOPICLIST{"   * $web.$name"}% creates a bullet list of all topics.
%TOPICLIST{separator=", "}% creates a comma separated list of all topics.
%TOPICLIST{" <option>$name</option>"}% creates an option list (for drop down menus).
%WEBLIST{"format"}% Web index, ex: list of all webs. Hidden webs are excluded, e.g. webs with a NOSEARCHALL=on preference variable. The "format" defines the format of one web item. The $name variable gets expanded to the name of the web, $qname gets expanded to double quoted name, $marker to marker where web matches selection. Parameters are format, separator and web:
Parameter: Description: Default:
"format" Format of one line, may include $name variable "$name"
format="format" (Alternative to above) "$name"
separator=", " line separator "\n" (new line)
webs="public" comma sep list of Web, public expands to all non-hidden "public"
marker="selected" Text for $marker where item matches selection, otherwise equals "" "selected"
selection="%WEB%" Current value to be selected in list section="%WEB%"
Examples:
%WEBLIST{"   * [[$name.WebHome]]"}% creates a bullet list of all webs.
%WEBLIST{"<option $marker value=$qname>$name</option>" webs="Trash,public" selection="TWiki" separator=" "}% Dropdown of all public Webs + Trash Web, current Web highlighted.
%GMTIME% GM time, is 08 May 2009 - 00:58
%GMTIME{"format"}% Formatted GM time based on time variables.
Variable: Unit: Example
$seconds seconds 59
$minutes minutes 59
$hours hours 23
$day day of month 31
$month month in ISO format Dec
$mo 2 digit month 12
$year 4 digit year 1999
$ye 2 digit year 99
Variables can be shortened to 3 characters. Example:
%GMTIME{"$day $month, $year - $hour:$min:$sec"}% is
08 May, 2009 - 00:58:14
%SERVERTIME% Server time, is 08 May 2009 - 02:58
%SERVERTIME{"format"}% Formatted server time.
Example: %SERVERTIME{"$hou:$min"}% is 02:58
%HTTP_HOST% HTTP_HOST environment variable, is wiki.arch.ethz.ch
%REMOTE_ADDR% REMOTE_ADDR environment variable, is 129.132.212.2
%REMOTE_PORT% REMOTE_PORT environment variable, is 49206
%REMOTE_USER% REMOTE_USER environment variable, is
%INCLUDE{"page" ...}% Server side include to IncludeTopicsAndWebPages:
Parameter: Description: Default:
"SomeTopic" The name of a topic located in the current web, i.e. %INCLUDE{"WebNotify"}%  
"Web.Topic" A topic in another web, i.e. %INCLUDE{"TWiki.SiteMap"}%  
"http://..." A full qualified URL, i.e. %INCLUDE{"http://twiki.org/"}%  
pattern="..." A RegularExpression pattern to include a subset of a topic or page none
rev="1.2" Include a previous topic revision; N/A for URLs top revision
%STARTINCLUDE% If present in included topic, start to include text from this location up to the end, or up to the location of the %STOPINCLUDE% variable. A normal view of the topic shows everyting exept the %STARTINCLUDE% variable itself.
%STOPINCLUDE% If present in included topic, stop to include text at this location and ignore the remaining text. A normal view of the topic shows everyting exept the %STOPINCLUDE% variable itself.
%TOC% Table of Contents of current topic.
%TOC{"SomeTopic" ...}% Table of Contents. Shows a TOC that is generated automatically based on headings of a topic. Headings in WikiSyntax ("---++ text") and HTML ("<h2>text</h2>") are taken into account. Any heading text after "!!" is excluded from the TOC; for example, write "---+!! text" if you do not want to list a header in the TOC. Parameters are topic name, web and depth:
Parameter: Description: Default:
"TopicName" topic name Current topic
web="Name" Name of web Current web
depth="2" Limit depth of headings shown in TOC 6
Examples: %TOC{depth="2"}%, %TOC{"TWikiDocumentation" web="TWiki"}%
%SEARCH{"text" ...}% Inline search, shows a search result embedded in a topic. Parameters are the search term, web, scope, order and many more: [1]
Parameter: Description: Default:
"text" Search term. Is a regular expression or literal, depending on the regex parameter. For regular expressions ";" is used to mean and e.g. "search;agrep" will find all topic containing search and agrep. required
search="text" (Alternative to above) N/A
web="Name"
web="Main Know"
web="all"
Wiki web to search: A web, a list of webs separated by whitespace, or all webs. [2] Current web
scope="topic"
scope="text"
Search topic name (title) or in the text (body) of the topic Topic text (body)
order="topic"
order="modified"
order="editby"
order=
 "formfield(name)"
Sort the results of search by the topic names, last modified time, last editor, or named field of TWikiForms Sort by topic name
limit="all"
limit="16"
Limit the number of results returned All results
regex="on" RegularExpression search; also enables ";" as and Literal search
reverse="on" Reverse the direction of the search Ascending search
casesensitive="on" Case sensitive search Ignore case
nosummary="on" Show topic title only Show topic summary
bookview="on" BookView search, e.g. show complete topic text Show topic summary
nosearch="on" Suppress search string Show search string
noheader="on" Suppress search header
Topics: Changed: By:
Show search header
nototal="on" Do not show number of topics found Show number
header="..."
format="..."
Custom format results: see FormattedSearch for usage, variables & examples Results in table
Regular example: %SEARCH{"wiki" web="Main" scope="topic"}%
Formatted example: %SEARCH{"FAQ" scope="topic" nosearch="on" nototal="on" header="| *Topic: * | *Summary: * |" format="| $topic | $summary |"% (displays results in a table with header - details)
HELP If the TWiki:Plugins.TablePlugin is installed, you may set a %TABLE{}% variable just before the %SEARCH{}% to alter the output of a search. Example: %TABLE{ tablewidth="90%" }%
%METASEARCH{...}% Special search of meta data
Parameter: Description: Default:
type="topicmoved" What sort of search is required?
"topicmoved" if search for a topic that may have been moved
"parent" if searching for topics that have a specific parent i.e. its children
required
web="%WEB%" Wiki web to search: A web, a list of webs separated by whitespace, or all webs. required
topic="%TOPIC%" The topic the search relates to required
title="Title" Text that is prepended to any search results required
Example: %METASEARCH{type="topicmoved" web="%WEB%" topic="%TOPIC%" title="This topic used to exist and was moved to: "}%, you may want to use this in WebTopicViewTemplate and WebTopicNonWikiTemplate
%METASEARCH{type="parent" web="%WEB%" topic="%TOPIC%" title="Children: "}%
%VAR{"NAME" web="Web"}% Get a preference value from a web other then the current one. Example: To get %WEBBGCOLOR% of the Main web write %VAR{"WEBBGCOLOR" web="Main"}%, is #FFFFC0

[1] Note: The search form uses identical names for input fields.

[2] Note: A web can be excluded from a web="all" search if you define a NOSEARCHALL=on variable in its WebPreferences.

Preferences Variables

Additional variables are defined in the preferences ( site-level ( SL ) in TWikiPreferences, web-level ( WL ) in WebPreferences of each web, and user level ( UL ) preferences in individual user topics):

Variable: Level: What:
%WIKIWEBMASTER% SL Webmaster email address (sender of email notifications) , is caad-yearly@hbt.arch.ethz.ch
%WIKIWEBLIST% SL List of TWiki webs (in upper right corner of topics)
%WEBTOPICLIST% WL Common links of web (second line of topics)
%WEBCOPYRIGHT% SL , WL Copyright notice (bottom right corner of topics)
%WEBBGCOLOR% WL Background color of web
%NOSEARCHALL% WL Exclude web from a web="all" search (set variable to on for hidden webs)
%NEWTOPICBGCOLOR% SL , UL Background color of non existing topic. ( UL needs authentication for topic views )
%NEWTOPICFONTCOLOR% SL , UL Font color of non existing topic. ( UL needs authentication for topic views )
%EDITBOXWIDTH% SL , UL Horizontal size of edit box, is 70
%EDITBOXHEIGHT% SL , UL Vertical size of edit box, is 15
%RELEASEEDITLOCKCHECKBOX% SL , UL Default state of the "Release edit lock" (UnlockTopic) check box in preview. Checkbox is initially checked if Set RELEASEEDITLOCKCHECKBOX = checked="checked", or unchecked if empty. If checked, make sure to click on Edit to do more changes; do not go back in your browser to the edit page, or you risk that someone else will edit the topic at the same time! Value is: checked
%DONTNOTIFYCHECKBOX% SL , UL Default state of the "Minor Changes, Don't Notify" (DontNotify) check box in preview. Check box is initially checked if Set DONTNOTIFYCHECKBOX = checked="checked", or unchecked if empty. Value is: checked
%ATTACHLINKBOX% SL , UL Default state of the link check box in the attach file page. Check box is initially checked if value is set to CHECKED , unchecked if empty. If checked, a link is created to the attached file at the end of the topic. Value is:
%HTTP_EQUIV_ON_VIEW% SL http-equiv meta tags for view, rdiff, attach, search* scripts.
%HTTP_EQUIV_ON_EDIT% SL , UL http-equiv meta tags for edit script.
%HTTP_EQUIV_ON_PREVIEW% SL , UL http-equiv meta tags for preview script.
%DENYWEBCHANGE% WL List of users and groups who are not allowed to change topics in the TWiki web. (More in TWikiAccessControl)
%ALLOWWEBCHANGE% WL List of users and groups who are allowed to change topics in the TWiki web. (More in TWikiAccessControl)
%DENYTOPICCHANGE% (any topic) List of users and groups who are not allowed to change the current topic. (More in TWikiAccessControl)
%ALLOWTOPICCHANGE% (any topic) List of users and groups who are allowed to change the current topic. (More in TWikiAccessControl)
%DENYWEBRENAME% WL List of users and groups who are not allowed to rename topics in the TWiki web. (More in TWikiAccessControl)
%ALLOWWEBRENAME% WL List of users and groups who are allowed to rename topics in the TWiki web. (More in TWikiAccessControl)
%DENYTOPICRENAME% (any topic) List of users and groups who are not allowed to rename the current topic. (More in TWikiAccessControl)
%ALLOWTOPICRENAME% (any topic) List of users and groups who are allowed to rename the current topic. (More in TWikiAccessControl)
%FINALPREFERENCES% SL , WL List of preferences that are not allowed to be overridden by next level preferences

Note: There are some more useful variables defined in the TWikiPreferences like %BR% for line break, colors like %RED% for colored text and small icons like %H% for a HELP Help icon.

Setting Preferences

Creating Custom Variables

Example: Create a custom logo variable the TWiki web

-- PeterThoeny - 19 Jan 2003
-- MikeMannix? - 12 May 2002

 


TWikiWebsTable  

12 Apr 2002 - 10:53 - NEW   PeterThoeny

TWiki Site Map Use to...
TWiki.TWiki Welcome, Registration, and other StartingPoints; TWiki history & Wiki style; All the docs...     { Changes | Search | Prefs } ...discover TWiki details, and how to start your own site.
You can use color coding by web for identification and reference. This table is updated automatically based on WebPreferences settings of the individual webs. Contact caad-yearly@hbt.arch.ethz.ch if you need a separate collaboration web for your team.
(included from SiteMap; change TWikiWebsTable to include from SiteMap instead of TWikiWebsTable)

 


TablePlugin  

30 Nov 2001 - 10:26 - NEW   MikeMannix?

TablePlugin

This optional but recommended Plugin is available at TWiki:Plugins/TablePlugin.

 


TemplateWeb  

19 Jan 2003 - 08:30 - NEW   PeterThoeny

Template Web

Purpose

Template webs were created to act as templates in creating webs. It is now possible to creation webs via the ManagingWebs topic. In the not so distant past TWiki webs were created by hand. The data directory contains the different webs such as Main and TWiki. A web that begins with an underscore "_" character is considered invisible and a template. All files in the _default (or any other web that begins with an underscore) template web will be copied into your new web. The _default web template contains the following topics: WebChanges, WebHome, WebIndex, WebNotify, WebPreferences, WebSearch, WebStatistics and WebTopicList.

Customizing

The web template is useful for administrators to design for creating webs of a certain type. Departmental webs can at least begin with a similar look and feel.

Simply create a web with an underscore for the first character. These can be used by authorized users to create webs from this template.

-- GrantBow - 16 Jan 2003

 


TextEditor  

31 Jan 2003 - 06:40 - NEW   PeterThoeny

Text Editor

A text editor, or text processor, handles plain text only, different from a word processor because it doesn't do display formatting like bold type, or mixed font styles, sizes and colors. Advanced text editors are typically used by computer programmers, and have text manipulation features not found or regularly used in word processors, like regular expression search and replace, clip libraries, bookmarks to tag individual lines, upfront display of line numbers, file size and the like, and the ability to save in PC, Mac and Unix formats.

HTML editors are text editors with built-in formatting functions.

Windows Notepad is a simple text editor, designed to be small and fast loading, for taking quick notes.

-- MikeMannix? - 12 May 2002

 


TextFormattingFAQ  

09 Jan 2003 - 04:59 - r1.14   PeterThoeny

Text Formatting FAQ

The most frequently asked questions about text formatting are answered. Also, TextFormattingRules contains the complete TWiki shorthand system on one quick reference page.


How do I make a separator?

Create a separator - a horizontal rule - by entering three dashes at the beginning of a blank line: ---. You can enter more than three if you like, for a more visible separator in edit mode:
--------------


How do I create a heading?

You can create six sizes of headings - <h1>...<h6> in HTML - by typing, from the beginning of a line, three dashes (-), from one to six plus signs (+), a space, and your heading text. The FAQ questions on this page are created with: ---+++ Have a question?.


Text enclosed in angle brackets like <filename> is not displayed. How can I show it as it is?

TWiki interprets text as HTML, and the '<' and '>' characters define where HTML commands start and end. Text inside angle brackets is treated as HTML, and ignored if it doesn't actually do anything - either way, the brackets and its contents are not displayed.

If you want to display angle brackets, enter them as HTML codes instead of typing them in directly:


Some words appear highlighted, with a "?" link at the end. How can I prevent that?

A question mark after a word is a link to a topic that doesn't yet exist - click it to create the new page. This is a TWiki feature - typing a MeaningfulTitle? in a comment is an invitation for someone else to add a new branch to the topic.

To prevent auto-linking - say you want to enter a word like JavaScript (the proper spelling!) - prefix the WikiStyleWord? with the special TWiki HTML tag <nop>:


How can I write fixed font text?

The quickest way is to enclose the text in equal signs:


Text I enter gets wrapped around. How can I keep the formatting as it is?

TWiki interprets text as HTML, so you can use the preformatted HTML option to keep the new line of text as is. Enclose the text in <pre> </pre>, or in TWiki's own <verbatim> </verbatim> tag:

This text will keep its format as it is:
<verbatim>
  Unit     Price   Qty  Cost
  -------  ------  ---  ------
  aaa       12.00    3   36.00
</verbatim>

The pre tag is standard HTML; verbatim is a special TWiki tag that forces text to fixed font mode, and also prevents other tags and TWiki shortcuts from being expanded.


How do I create tables?

There are three possibilities:

  1. Use Wiki rule with "|" vertical bars.
  2. Use HTML tables with <table>, <tr>, <td> tags.
  3. Use preformatted text with <verbatim> tags.

1. Use Wiki rule with "|" vertical bars

2. Use HTML tables with <table>, <tr>, <td> tags

This is a manual process using HTML commands.

You enter:

<table border="1">
  <tr>
    <th> Head A  </th> <th> Head B  </th>
  </tr><tr>
    <td> Cell A2 </td> <td> Cell B2 </td>
  </tr><tr>
    <td> Cell A3 </td> <td> Cell B3 </td>
  </tr>
</table>

Result:

Head A Head B
Cell A2 Cell B2
Cell A3 Cell B3

3. Use preformatted text with <verbatim> tags

See "Text enclosed..."


Can I include images on a page?

Yes. The easiest way is to attach a GIF, JPG or PNG file to a topic and then to place it with: %ATTACHURL%/myImage.gif. This works only for the page that the image is attached to.

To place an image on any page, ther are two ways of including inline images.

1. Using URL ending in .gif, .jpg, .jpeg, .png

This is a simple and automatic way of including inline images. Simply write the URL of the image file, this will create the inline image for you. NOTE: The images must be accessible as a URL.

You can upload images directly to your server with FTP access. You can also attach image files to a topic - you could even create a dedicated image topic, like ImageLibrary - and then link to the images directly:

2. Using <img> tag

This is a manual process where you have more control over the rendering of the image. Use the <img> tag of HTML to include GIF, JPG and PNG files. Note: The display of the topic is faster if you include the WIDTH and HEIGHT parameters that have the actual image size. http://www.htmlhelp.com/reference/wilbur/special/img.html has more on inline images.


Can I write colored text?

TWikiPreferences defines some commonly used colors: %YELLOW%, %RED%, %PINK%, %PURPLE%, %TEAL%, %NAVY%, %BLUE%, %AQUA%, %LIME%, %GREEN%, %OLIVE%, %MAROON%, %BLACK%, %GRAY%, %SILVER% and %ENDCOLOR%.

Note: %<color>% text must end with %ENDCOLOR% . If you want to switch from one color to another one you first need to end the active color with %ENDCOLOR%, e.g. write %RED% some text %ENDCOLOR% %GREEN% more text %ENDCOLOR%.

If you need more colors you can use HTML, like <font color="#ff0000"> red text </font>. You can also use the up-to-date style attribute - ex: style="color:#ff0000" - placed in most HTML tags. span is an all-purpose choice: <span style="color:#ff0000">CoLoR</span>. Only old (like 3.x IE & NS) browsers have a problem with style.

The code is the hexadecimal RGB color code, which is simply Red, Green and Blue values in hex notation (base 16, 0-F). For pure red, the RGB components are 255-0-0 - full red (255), no green or blue. That's FF-0-0 in hex, or "#ff000" for Web page purposes. StandardColors lists basic colors.


-- PeterThoeny - 21 Feb 2002
-- MikeMannix - 14 Sep 2001

 


TextFormattingRules  

01 Feb 2003 - 20:47 - r1.37   PeterThoeny

TWiki Text Formatting

Working in TWiki is as easy as typing in text - exactly like email. You don't need to know HTML, though you can use it if you prefer. Links to topics are created automatically when you enter WikiWords. And TWiki shorthand gives you all the power of HTML with a simple coding system that takes no time to learn. It's all layed out below - refer back to this page in a pop-up window from the Edit screen.

TWiki Editing Shorthand

Formatting Command: Example: You write: You get:
Paragraphs:
Blank lines will create new paragraphs.
1st paragraph

2nd paragraph
1st paragraph

2nd paragraph

Headings:
At least three dashes at the beginning of a line, followed by plus signs and the heading text. One plus creates a level 1 heading (most important), two pluses a level 2 heading; the maximum is level 6. Note: A Table of Content can be created automatically with the %TOC% variable, see TWikiVariables. Any heading text after !! is excluded from the TOC; for example, write ---+!! text if you do not want to list a header in the TOC.
---++ Sushi

---+++ Maguro

Sushi

Maguro

Bold Text:
Words get bold by enclosing them in * asterisks.
*Bold*
Bold
Italic Text:
Words get italic by enclosing them in _ underscores.
_Italic_
Italic
Bold Italic:
Words get _bold italic by enclosing them in _ double-underscores.
__Bold italic__
Bold italic
Fixed Font:
Words get shown in fixed font by enclosing them in = equal signs.
=Fixed font=
Fixed font
Bold Fixed Font:
Words get shown in bold fixed font by enclosing them in double equal signs.
==Bold fixed==
Bold fixed
Note: Make sure to "stick" the * _ = == signs to the words, that is, take away spaces.
_This works_,
_this not _
This works, _this not _
Verbatim Mode:
Surround code excerpts and other formatted text with <verbatim> and </verbatim> tags.
Note: Use <pre> and </pre> tags instead if you want that HTML code is interpreted.
Note: Each tag must be on a line by itself.
<verbatim>
class CatAnimal {
  void purr() {
    <code here>
  }
}
</verbatim>
class CatAnimal {
  void purr() {
    <code here>
  }
}
Separator:
At least three dashes at the beginning of a line.
-------

List Item:
Three spaces and an asterisk.
   * bullet item
  • bullet item
Nested List Item:
Six, nine, ... spaces and an asterisk.
      * nested stuff
    • nested stuff
Ordered List:
Three spaces and a number.
   1 Sushi
   1 Dim Sum
  1. Sushi
  2. Dim Sum
Definition List:
Three spaces, the term, a colon, a space, followed by the definition.
Note: Terms with spaces are not supported. In case you do have a term with more then one word, separate the words with dashes or with the &nbsp; non-breaking-space entity.
   Sushi: Japan
   Dim&nbsp;Sum: S.F.
Sushi
Japan
Dim Sum
S.F.
Table:
Optional spaces followed by the cells enclosed in vertical bars.
Note: | *bold* | cells are rendered as table headers.
Note: |   spaced   | cells are rendered center aligned.
Note: |     spaced | cells are rendered right aligned.
Note: | 2 colspan || cells are rendered as multi-span columns.
Note: In case you have a long row and you want it to be more readable when you edit the table you can split the row into lines that end with a '\' backslash character.
| *L* | *C* | *R* |
| A2 |  2  |  2 |
| A3 |  3  |  3 |
| multi span |||
| A4 | next | next |
L C R
A2 2 2
A3 3 3
multi span
A4 next next
WikiWord Links:
CapitalizedWordsStuckTogether (or WikiWords) will produce a link automatically.
Note: In case you want to link to a topic in a different TWiki web write Webname.TopicName.
WebNotify

Know.ReadmeFirst
WebNotify

ReadmeFirst

Forced Links:
You can create a forced internal link by enclosing words in double square brackets.
Note: Text within the brackets may contain optional spaces; the topic name is formed by capitalizing the initial letter and by removing the spaces; for example, [[text formatting FAQ]] links to topic TextFormattingFAQ. You can also refer to a different web and use anchors.
[[wiki syntax]]

[[Main.TWiki users]]
wiki syntax

Main.TWiki users

Specific Links:
Create a link where you can specify the link text and the link reference separately, using nested square brackets like [[reference][text]]. Internal link references (e.g. WikiSyntax) and external link references (e.g. http://TWiki.org/) are supported.
Note: The same Forced Links rules apply for internal link references.
Note: For external link references, you can simply use a space instead of ][ to separate the link URL from the descriptive text.
Note: Anchor names can be added as well, like [[WebHome#MyAnchor][go home]] and [[http://gnu.org/#Action][GNU Action]].
[[WikiSyntax][syntax]]

[[http://gnu.org][GNU]]

[[http://xml.org XML]]
syntax

GNU

XML

Anchors:
You can define a link reference inside a TWiki topic (called an anchor name) and link to that. To define an anchor write #AnchorName at the beginning of a line. The anchor name must be a WikiWord. To link to an anchor name use the [[MyTopic#MyAnchor]] syntax. You can omit the topic name if you want to link within the same topic.
[[WebHome#NotThere]]

[[#MyAnchor][Jump]]

#MyAnchor To here
WebHome#NotThere

Jump

To here

Prevent a Link:
Prevent a WikiWord from being linked by prepending it with the <nop> tag.
<nop>SunOS
SunOS
Disable Links:
You can disable automatic linking of WikiWords by surrounding text with <noautolink> and </noautolink> tags.
Note: Each tag must be on a line by itself.
Note: This also works for TWiki tables, but only if you add a blank line between the end of the table and the closing </noautolink> tag (known issue of the TablePlugin).
 <noautolink>
 RedHat &
 SuSE
 </noautolink>
RedHat & SuSE
Mailto: Links:
To create 'mailto:' links that have more descriptive link text, specify subject lines or message bodies, or omit the email address, you can write [[mailto:user@domain descriptive text]].
[[mailto:a@z.com Mail]]

[[mailto:?subject=Hi Hi]]
Mail

Hi

Using HTML

You can use just about any HTML tag without a problem - however, there are a few usability and technical considerations to keep in mind.

HTML and TWiki Usability

TWiki HTML Rendering

Hyperlinks

Being able to create links without any formatting required is a core TWiki feature, made possible with WikiWords. New TWiki linking rules are a simple extension of the syntax that provide a new set of flexible options.

Internal Links

External Links

TWiki Variables

Variables are names that are enclosed in percent signs % that are expanded on the fly.

TWikiPlugin Formatting Extensions

Plugins provide additional text formatting capabilities and can extend the functionality of TWiki into many other areas. For example, the optional SpreadSheetPlugin lets you create a spreadsheet with the same basic notation used in TWiki tables.

Available Plugins are located in the Plugins web on TWiki.org. Currently enabled plugins on this TWiki installation, as listed by %PLUGINDESCRIPTIONS%:

Check on current Plugin status and settings for this site in TWikiPreferences.

Common Editing Errors

TWiki formatting rules are fairly simple to use and quick to type. However, there are some things to watch out for, taken from the TextFormattingFAQ:

-- MikeMannix? - 02 Dec 2001
-- PeterThoeny - 01 Feb 2003

 


TimBernersLee  

18 Jan 2003 - 09:57 - r1.2   PeterThoeny

Tim Berners-Lee invented the World Wide Web while working at CERN in 1989. See his biography at http://www.w3.org/People/Berners-Lee/

-- PeterThoeny - 12 Jan 2003

 


TwikiCaad3MemberRegistration  

30 Oct 2005 - 16:48 - r1.10   PiaFricker

students of CAAD 1 ws05/06 register here

read the small print below

First & last name: **
Email address: **
Team name:
Your password: ** note: DO NOT FORGET!
Retype password: **
Your Login WikiName: **
Your Team WikiName: note: please click inside the field!
     (Fields marked ** are required)

Submitting the form will automatically:

Once registered you can login using your WikiName and password. Examples of Loginnames: CaadEricExample, CaadBertaBeispiel

 


UnlockTopic  

12 Jun 2002 - 03:31 - r1.5   PeterThoeny

Topics get locked for some time (default is one hour) whenever a user edits, previews or saves a topic. This is to prevent simultaneous topic updates. There is a lock warning if another user tries to edit a topic while the lock is still on.

It is worth noting that all topic changes you do within the lock time will go into the same revision. In other words, if you find a mistake immediately after saving the topic, then TWiki will pretend that it never happened if you fix it while the topic is still locked.

You can remove the lock by checking the "Release edit lock" checkbox in preview. This is a way to let other people know that you are done with your editing. Note: Please remember not to go back in your browser in case you checked the box and after that you decide to do more changes to the topic. Instead press the Edit link to re-edit your page.

Note: The initial state of the checkbox can be set to on with the RELEASEEDITLOCKCHECKBOX preferences variable. See TWikiPreferences for more.

 


VitoMiliano  

12 Jan 2003 - 02:40 - r1.2   PeterThoeny

Vito Miliano is a TWikiContributor.

See home page at TWiki:Main/VitoMiliano

 


WabiSabi  

12 May 2002 - 12:10 - r1.5   MikeMannix?

Wabi Sabi Since wabi-sabi represents a comprehensive Japanese world view or aesthetic system, it is difficult to explain precisely in western terms. According to Leonard Koren, wabi-sabi is the most conspicuous and characteristic feature of what we think of as traditional Japanese beauty and it "occupies roughly the same position in the Japanese pantheon of aesthetic values as do the Greek ideals of beauty and perfection in the West."

Wabi-sabi is a beauty of things imperfect, impermanent, and incomplete. It is the beauty of things modest and humble. It is the beauty of things unconventional.

The concepts of wabi-sabi correlate with the concepts of Zen Buddhism, as the first Japanese involved with wabi-sabi were tea masters, priests, and monks who practiced Zen. Zen Buddhism originated in India, traveled to China in the 6th century, and was first introduced in Japan around the 12th century. Zen emphasizes "direct, intuitive insight into transcendental truth beyond all intellectual conception." At the core of wabi- sabi is the importance of transcending ways of looking and thinking about things/existence.

Material characteristics of wabi-sabi:

For more about wabi-sabi, see http://www.art.unt.edu/ntieva/artcurr/asian/wabisabi.html

Related Topics: WikiCulture, TWikiSite

 


WebChanges  

16 Aug 2001 - 19:59 - r1.3   PeterThoeny

Topics in TWiki web: Changed: now 00:58 Changed by:
WebStatistics 08 May 2009 - 00:56 - r1.1390 Main.guest
Statistics for TWiki Web Month: Topic views: Topic saves: File uploads: Most popular topic views: Top contributors for topic save and uploads: May 2009 1350 0 0 113 ...  
TwikiCaad3MemberRegistration 30 Oct 2005 - 16:48 - r1.10 PiaFricker
GREEN students of CAAD 1 ws05/06 register here ENDCOLOR RED read the small print below ENDCOLOR First last name:  
TWikiRegistration 30 Oct 2005 - 12:28 - r1.19 PiaFricker
RED THIS IS NOT THE PLACE FOR STUDENTS TO REGISTER ENDCOLOR RED Even not for those, who cannot find another place. ENDCOLOR RED To make it clear. If you are not sure ...  
TWikiPreferences 06 Oct 2005 - 09:03 - r1.56 PiaFricker
TWiki Site-Level Preferences The following are site-level settings that affect all users in all webs on this TWikiSite. They can be selectively overwritten on the ...  
WelcomeGuest 26 Oct 2004 - 21:46 - r1.22 KarstenDroste
Welcome, WIKIUSERNAME ! RED This is the standard TWiki welcome and not related to CAAD Chair ENDCOLOR Welcome to TWiki! This is a TWikiSite (pronounced twee-kee site ...  
FileAttribute 08 Oct 2004 - 12:52 - r1.3 SusanneSchumacher
Each FileAttachment in a Topic has an attribute string. At present only only the hidden attribute is supported. If the attribute includes h then the attachment is ...  
WebPreferences 08 Oct 2004 - 08:32 - r1.20 KarstenDroste
TWiki Web Preferences The following settings are web preferences of the TWiki web. These preferences overwrite the site-level preferences in TWIKIWEB . WIKIPREFSTOPIC ...  
EditTablePlugin 17 Sep 2004 - 01:40 - r1.24 PeterThoeny
Edit Table Plugin This plugin allows you to edit TWiki tables using edit fields and drop down boxes. Tables have an Edit table button if preceeded by an EDITTABLE ...  
CaadLogos 02 Sep 2004 - 09:13 - r1.2 OliverFritz
Main.KarstenDroste 01 Sep 2004 version with extra space left and right: default logo for this twiki:  
TWikiRegistrationOLD 01 Sep 2004 - 07:51 - r1.9 KarstenDroste
To edit pages on this TWiki Collaborative Web, you must have a registered user name in WikiNotation. To register as a new user, simply fill out this form: First last ...  
TWikiUserAuthentication 01 Sep 2004 - 07:50 - r1.16 KarstenDroste
TOC STARTINCLUDE # TWiki User Authentication TWiki site access control and user activity tracking options TWiki does not authenticate users internally, it depends ...  
TWikiUsernameVsLoginUsername 01 Sep 2004 - 07:50 - r1.8 KarstenDroste
## TWiki Username vs. Login Username This section applies only if your TWiki is installed on a server that is both authenticated and on an intranet . TWiki internally ...  
WebHome 01 Sep 2004 - 07:50 - r1.79 KarstenDroste
Welcome to TWiki: a flexible, powerful, secure, yet simple web-based collaboration platform. Use TWiki to run a project development space, a document management system ...  
MainFeatures 01 Sep 2004 - 07:50 - r1.2 KarstenDroste
Main Features of TWiki Any web browser: Edit existing pages or create new pages by using any web browser. There is no need to upload pages. Edit link: To edit a page ...  
TWikiAccessControl 01 Sep 2004 - 07:50 - r1.28 KarstenDroste
TOC STARTINCLUDE # TWiki Access Control Restricting read and write access to topics and webs, by Users and groups TWikiAccessControl allows you restrict access to ...  
TWikiAdminCookBook 01 Sep 2004 - 07:50 - r1.3 KarstenDroste
TWiki Admin Cook Book This page has many tips and tricks, particularly useful when you're installing TWiki for the first time. This guide is most useful RED before ...  
TWikiHistory 01 Sep 2004 - 07:50 - r1.62 KarstenDroste
TOC STARTINCLUDE # Appendix B: TWiki Development Timeline 01-Feb-2003 Release (Beijing) 18 Jan 2003 PeterThoeny Support for /bin/view/Web.TopicName topic view URL ...  
TWikiInstallationGuide 01 Sep 2004 - 07:50 - r1.54 KarstenDroste
TOC STARTINCLUDE # TWiki Installation Guide Installation instructions for the TWiki 01-Feb-2003 production release. Update notes for the new RCS configuration are ...  
TWikiTutorial 01 Sep 2004 - 07:50 - r1.13 KarstenDroste
TOC STARTINCLUDE # 20-Minute TWiki This step-by-step, hands-on tutorial gets you up to speed with all the TWikiSite basics, in mere minutes ... 1. Get set... Open ...  
TWikiUpgradeGuide 01 Sep 2004 - 07:50 - r1.4 KarstenDroste
TOC STARTINCLUDE # TWiki Upgrade Guide Upgrade from the previous TWiki 01-Dec-2001 production release to TWiki 01-Feb-2003 Overview This guide describes how to upgrade ...  
TWikiUpgradeTo01Dec2000 01 Sep 2004 - 07:50 - r1.16 KarstenDroste
## TWiki Upgrade Notes for Version 01 May 2000 If you are coming from a version earlier than the 01 May 2000 production release, please see TWikiUpgradeTo01May2000 ...  
TWikiUpgradeTo01May2000 01 Sep 2004 - 07:50 - r1.5 KarstenDroste
To upgrade an earlier TWiki version like 01 Sep 1999 to version 01 May 2000 you should do the following things: Back up your system. Update the templates in the ...  
TWikiUpgradeTo01Dec2001 01 Sep 2004 - 07:49 - r1.32 KarstenDroste
TOC STARTINCLUDE # TWiki Upgrade Guide Upgrade from TWiki 01-Dec-2000 or TWiki 01-Sep-2001 to TWiki 01-Dec-2001 (previous to new full release) This guide describes ...  
AppendixFileSystem 02 Feb 2003 - 01:42 - r1.12 PeterThoeny
TOC STARTINCLUDE #FileSystem # Appendix A: TWiki Filesystem Annotated directory and file listings, for the 01-Feb-2003 TWiki production release. Who and What is This ...  
WindowsInstallCookbook 02 Feb 2003 - 01:36 - r1.3 PeterThoeny
TOC STARTINCLUDE # Windows Install Cookbook Introduction This cookbook is intended to get you up and running with TWiki on Windows quickly, with as few problems as ...  
TWikiSystemRequirements 02 Feb 2003 - 01:26 - r1.28 PeterThoeny
TOC STARTINCLUDE # TWiki System Requirements Server and client requirements for TWiki 01-Feb-2003 Low client and server requirements are core features that keep TWiki ...  
TWikiFuncModule 02 Feb 2003 - 01:02 - r1.3 PeterThoeny
TOC STARTINCLUDE # TWiki::Func Module Documentation Official list of stable TWiki functions for Plugin developers Description This module defines official funtions ...  
TextFormattingRules 01 Feb 2003 - 20:47 - r1.37 PeterThoeny
TOC{depth "4"} STARTINCLUDE # TWiki Text Formatting Working in TWiki is as easy as typing in text exactly like email . You don't need to know HTML, though you can ...  
TWikiTemplates 01 Feb 2003 - 12:46 - r1.18 PeterThoeny
TOC STARTINCLUDE # TWiki Templates Definition of the templates used to render all HTML pages displayed in TWiki Overview The new modular template system offers flexible ...  
IncludeTopicsAndWebPages 01 Feb 2003 - 12:26 - r1.6 PeterThoeny
Include Topics and Web Pages Using INCLUDE{...} Variable Use the INCLUDE{...} variable to embed the content of another topic or web page inside a TWiki topic. The ...  
TWikiTopics 01 Feb 2003 - 11:46 - r1.12 PeterThoeny
TWiki Topics TOC The basic building block of a TWiki site is called a topic , identified by a unique, hopefully descriptive, TWIKIWEB .WikiWord title. It may seem ...  
StartingPoints 01 Feb 2003 - 10:06 - r1.3 PeterThoeny
Welcome to TWiki. This page assumes that you are a new user to TWiki, and that you've never heard of Wiki before. Here are the most important pages you should know ...  
TWikiShorthand 01 Feb 2003 - 10:03 - NEW PeterThoeny
INCLUDE{"WikiSyntax"}  
WikiSyntax 01 Feb 2003 - 10:01 - r1.15 PeterThoeny
# TWiki Shorthand Basics If you can enter text, you're ready for TWiki. With a few simple, intuitive TextFormattingRules, you'll be able to use plain text to create ...  
InstantEnhancements 31 Jan 2003 - 09:03 - NEW PeterThoeny
Instant TWiki Site Enhancements These quick enhancements are aimed at improving TWiki's ease-of-use. New TWiki site administrators are especially encouraged to review ...  
TWikiDocumentation 31 Jan 2003 - 07:15 - r1.43 PeterThoeny
TWiki Reference Manual ( WIKIVERSION ) This page contains all documentation topics as one long, complete reference sheet. BR Doubleclick anywhere to return to the ...  
AdminSkillsAssumptions 31 Jan 2003 - 06:48 - r1.2 PeterThoeny
Administrator Skills Assumptions For each of these, the requirement is either pre-existing knowledge/skill, or the willingness to spend significant time (i.e. from ...  
TextEditor 31 Jan 2003 - 06:40 - NEW PeterThoeny
Text Editor A text editor, or text processor, handles plain text only, different from a word processor because it doesn't do display formatting like bold type, or ...  
WebRss 30 Jan 2003 - 08:12 - NEW PeterThoeny
TWiki's TWiki web SCRIPTURL /view SCRIPTSUFFIX /TWiki The Documentation Web of TWiki. TWiki is a Web-Based Collaboration Platform for the Corporate World. INCLUDE ...  
WebRssBase 30 Jan 2003 - 08:11 - NEW PeterThoeny
RSS Feed This is the base for the RSS feed for each web. Each web has a WebRss that should contain the following text: TWiki's INCLUDINGWEB web SCRIPTURL /view SCRIPTSUFFIX ...  
TWikiSiteTools 30 Jan 2003 - 07:43 - r1.7 PeterThoeny
TOC STARTINCLUDE # TWiki Site Tools Utilities for searching, navigation, and monitoring site activity TWikiSiteTools include utilities for navigating, searching and ...  
GoBox 29 Jan 2003 - 08:16 - NEW PeterThoeny
The box at the top of each page. Enter a topic name to quickly jump to the topic, for example: WebNotify to jump to WebNotify in the current web MAINWEB .WebNotify ...  
TWikiPlugins 29 Jan 2003 - 07:21 - r1.21 PeterThoeny
TOC STARTINCLUDE # TWiki Plugins Plug-in enhanced feature add-ons, with a Plugin API for developers Overview You can add Plugins to extend TWiki's functionality, ...  
TWikiGlossary 27 Jan 2003 - 09:11 - r1.2 PeterThoeny
TOC STARTINCLUDE # TWiki Glossary Simple glossary of TWiki terms Term Definition Attachment: Any type of file that is uploaded via browser and attached to a topic ...  
TWikiVariables 27 Jan 2003 - 08:22 - r1.62 PeterThoeny
TOC STARTINCLUDE # TWiki Variables Special text strings expand on the fly to display user data or system info TWikiVariables are text strings VARIABLE that expand ...  
GrantBow 27 Jan 2003 - 07:42 - r1.2 PeterThoeny
Grant Bowman is a TWikiContributor. See home page at TWiki:Main.GrantBow  
InterwikiPlugin 27 Jan 2003 - 07:41 - r1.6 PeterThoeny
Interwiki Plugin The InterwikiPlugin links ExternalSite:Page text to external sites based on aliases defined in the TWIKIWEB .InterWikis topic. This plugin is inspired ...  
WebNotify 25 Jan 2003 - 10:02 - r1.5 PeterThoeny
This is a subscription service to be automatically notified by e-mail when topics change in this TWiki web. This is a convenient service, so you do not have to come ...  
TWikiForms 25 Jan 2003 - 09:23 - r1.16 PeterThoeny
TOC STARTINCLUDE # TWiki Forms Form-based input in topics, with name/value pairs stored as Meta Data variables; choose one of multiple forms per web topic Overview ...  
TWikiDocGraphics 25 Jan 2003 - 07:09 - r1.12 PeterThoeny
TWiki Documentation Graphics This is one way to create a library of common icons, accessible through user-defined TWikiVariables set in WebPreferences, or in TWikiPreferences ...  

Number of topics: 50

 


WebChangesAlert  

23 Jan 2003 - 08:08 - r1.13   PeterThoeny

Web Changes Notification Service

Each TWiki web has an automatic email notification service that sends you an email with links to all of the topics modified since the last alert.

 


WebHome  

01 Sep 2004 - 07:50 - r1.79   KarstenDroste

Welcome to TWiki: a flexible, powerful, secure, yet simple web-based collaboration platform. Use TWiki to run a project development space, a document management system, a knowledge base or any other groupware tool on either on an intranet or on the Internet.

This is the place to learn about TWiki features, find where to download it, and try it out for yourself...

  Powered by TWiki
The official TWikiTM
site is http://twiki.org/

TWiki User's Guide

Documentation for TWiki users.

  • TWiki Quick Start - the fast track approach

 


More options in WebSearch

TWiki Reference Manual

Documentation for webmasters, system administrators, project managers, team leaders, and all other users of the TWiki advanced online collaboration platform.

TWikiSiteTools

TWiki Site Map Use to...
TWiki.TWiki Welcome, Registration, and other StartingPoints; TWiki history & Wiki style; All the docs...     { Changes | Search | Prefs } ...discover TWiki details, and how to start your own site.
You can use color coding by web for identification and reference. This table is updated automatically based on WebPreferences settings of the individual webs. Contact caad-yearly@hbt.arch.ethz.ch if you need a separate collaboration web for your team.

 


WebIndex  

24 Nov 2001 - 11:31 - r1.2   PeterThoeny

Topics in TWiki web: Changed: now 00:58 Changed by:
AdminSkillsAssumptions 31 Jan 2003 - 06:48 - r1.2 PeterThoeny
Administrator Skills Assumptions For each of these, the requirement is either pre-existing knowledge/skill, or the willingness to spend significant time (i.e. from ...  
AdrianLynch 22 Jan 2003 - 09:25 - NEW PeterThoeny
Adrian Lynch is a TWikiContributor. See home page at TWiki:Main.AdrianLynch  
AlWilliams 12 Jan 2003 - 00:47 - r1.3 PeterThoeny
Al Williams is a TWikiContributor. See home page at TWiki:Main/AlWilliams  
AndreaSterbini 12 Jan 2003 - 02:24 - r1.3 PeterThoeny
Andrea Sterbini is a TWiki:Codev/CoreTeam member and a TWikiContributor. See home page at TWiki:Main/AndreaSterbini  
AppendixFileSystem 02 Feb 2003 - 01:42 - r1.12 PeterThoeny
TOC STARTINCLUDE #FileSystem # Appendix A: TWiki Filesystem Annotated directory and file listings, for the 01-Feb-2003 TWiki production release. Who and What is This ...  
BookView 23 Oct 2002 - 05:29 - r1.2 PeterThoeny
BookView is an option available from the WebSearch topic. It allows you to display the result in "book view", that is, the whole content of topics is shown instead ...  
BumpyWord 01 Jul 2000 - 06:18 - NEW KevinKinnell
See TWiki.WikiWord  
CaadLogos 02 Sep 2004 - 09:13 - r1.2 OliverFritz
Main.KarstenDroste 01 Sep 2004 version with extra space left and right: default logo for this twiki:  
ChangePassword 17 Jan 2003 - 06:21 - r1.6 PeterThoeny
Change password Forgot your old password? Then use ResetPassword instead. Please only use ResetPassword in case you really forgot your password. Thank you. Your TWIKIWEB ...  
ChristopheVermeulen 12 Jan 2003 - 02:23 - r1.5 PeterThoeny
Christophe Vermeulen is a TWikiContributor. See home page at TWiki:Main/ChristopheVermeulen  
ColasNahaboo 12 Jan 2003 - 00:48 - r1.2 PeterThoeny
Colas Nahaboo is a TWikiContributor. See home page at TWiki:Main/ColasNahaboo  
CrisBailiff 12 Jan 2003 - 00:47 - r1.4 PeterThoeny
Cris Bailiff is a TWikiContributor. See home page at TWiki:Main/CrisBailiff  
DavidWarman 12 Jan 2003 - 00:47 - r1.5 PeterThoeny
David Warman is a TWikiContributor. See home page at TWiki:Main/DavidWarman  
DefaultPlugin 05 Jan 2002 - 08:30 - r1.5 PeterThoeny
Default TWiki Plugin The default plugin is used for some deprecated rendering of older TWiki versions and of JosWiki. This plugin can also be used to specify some ...  
DeleteOrRenameATopic 10 Nov 2001 - 05:59 - r1.4 PeterThoeny
FAQ: How do I delete or rename a topic? Answer: New to the 01-Sep-2001 version of TWiki, you can rename, move and delete topics directly from your browser (previously ...  
DontNotify 13 Jul 2001 - 23:56 - r1.2 PeterThoeny
Use the "Minor changes, don't notify" checkbox in preview in case you only make a minor change to a topic and you do not want to inform everybody who is on the WebNotify ...  
EditDoesNotIncreaseTheRevision 01 Sep 2001 - 00:19 - r1.2 PeterThoeny
FAQ: Why does the topic revision not increase when I edit a topic? Answer: The same topic revision will be used when you save a topic again within a certain time ...  
EditTablePlugin 17 Sep 2004 - 01:40 - r1.24 PeterThoeny
Edit Table Plugin This plugin allows you to edit TWiki tables using edit fields and drop down boxes. Tables have an Edit table button if preceeded by an EDITTABLE ...  
EmptyPlugin 13 Jun 2002 - 05:54 - r1.5 PeterThoeny
Empty TWiki Plugin This is an empty plugin you can use as a template to build your own TWIKIWEB .TWikiPlugins. This plugin does nothing, but is ready to be used. ...  
ExampleTopicTemplate 12 Sep 2001 - 06:34 - r1.2 MikeMannix?
(just an example illustrating how to create a new topic based on a specific template topic. TWikiTemplatesVer1 has more) WIKIUSERNAME DATE  
FileAttachment 04 May 2002 - 15:32 - r1.10 MikeMannix?
TOC STARTINCLUDE # File Attachments Each topic can have one or more files of any type attached to it by using the Attach screen to upload (or download) files from ...  
FileAttribute 08 Oct 2004 - 12:52 - r1.3 SusanneSchumacher
Each FileAttachment in a Topic has an attribute string. At present only only the hidden attribute is supported. If the attribute includes h then the attachment is ...  
FormattedSearch 13 Aug 2002 - 16:46 - r1.9 PeterThoeny
TOC STARTINCLUDE # TWiki Formatted Search Results Inline search feature allows flexible formatting of search result The SEARCH{...} variable documented in TWikiVariables ...  
GnuGeneralPublicLicense 01 Sep 2001 - 00:20 - r1.2 PeterThoeny
FAQ: TWiki has a GPL (GNU General Public License). What is GPL? Answer: TWiki is distributed under the GNU General Public License, see TWikiDownload. GPL is one of ...  
GoBox 29 Jan 2003 - 08:16 - NEW PeterThoeny
The box at the top of each page. Enter a topic name to quickly jump to the topic, for example: WebNotify to jump to WebNotify in the current web MAINWEB .WebNotify ...  
GoodStyle 02 Dec 2001 - 07:59 - r1.6 MikeMannix?
GoodStyle Collaboration Tips TWiki has a very simple text formatting shorthand . In any case, you won't go wrong if you simply: start each line without spaces separate ...  
GrantBow 27 Jan 2003 - 07:42 - r1.2 PeterThoeny
Grant Bowman is a TWikiContributor. See home page at TWiki:Main.GrantBow  
HaroldGottschalk 12 Jan 2003 - 00:48 - r1.3 PeterThoeny
Harold Gottschalk is a TWikiContributor. See home page at TWiki:Main/HaroldGottschalk  
HiddenAttachment 13 Nov 2001 - 22:02 - NEW PeterThoeny
Hide/Unhide Attachments You can hide/unhide file attachments. In the FileAttachment table, click on an action link, enable the Hide file checkbox, then click Change ...  
IncludeTopicsAndWebPages 01 Feb 2003 - 12:26 - r1.6 PeterThoeny
Include Topics and Web Pages Using INCLUDE{...} Variable Use the INCLUDE{...} variable to embed the content of another topic or web page inside a TWiki topic. The ...  
InstallPassword 12 Jan 2003 - 07:19 - r1.3 PeterThoeny
Install an Encrypted Password This form can be used only by the MAINWEB .TWikiAdminGroup users to install an encrypted password generated by a user with ResetPassword ...  
InstalledPlugins 12 May 2002 - 06:46 - NEW MikeMannix?
Installed Plugins Plugins are mainly user-contributed add-ons that enhance and extend TWiki features and capabilities. A limited number of plugins are included in ...  
InstantEnhancements 31 Jan 2003 - 09:03 - NEW PeterThoeny
Instant TWiki Site Enhancements These quick enhancements are aimed at improving TWiki's ease-of-use. New TWiki site administrators are especially encouraged to review ...  
InterWikis 21 Apr 2002 - 06:03 - r1.3 PeterThoeny
Inter-Wiki Link Rules (or Links to other Sites) This topic lists all aliases needed to map Inter-Site links to external wikis/sites. Whenever you write ExternalSite ...  
InterwikiPlugin 27 Jan 2003 - 07:41 - r1.6 PeterThoeny
Interwiki Plugin The InterwikiPlugin links ExternalSite:Page text to external sites based on aliases defined in the TWIKIWEB .InterWikis topic. This plugin is inspired ...  
JohnAltstadt 12 Jan 2003 - 00:49 - r1.5 PeterThoeny
John Altstadt is a TWikiContributor. See home page at TWiki:Main/JohnAltstadt  
JohnTalintyre 12 Jan 2003 - 02:23 - r1.2 PeterThoeny
John Talintyre is a TWiki:Codev/CoreTeam member and a TWikiContributor. See TWiki:Main/JohnTalintyre  
KevinKinnell 12 Jan 2003 - 02:24 - r1.5 PeterThoeny
Kevin Kinnell is a TWikiContributor and used to be a TWiki:Codev/CoreTeam member. See home page at TWiki:Main/KevinKinnell  
KlausWriessnegger 12 Jan 2003 - 00:50 - r1.2 PeterThoeny
Klaus Wriessnegger is a TWikiContributor. See home page at TWiki:Main/KlausWriessnegger  
MainFeatures 01 Sep 2004 - 07:50 - r1.2 KarstenDroste
Main Features of TWiki Any web browser: Edit existing pages or create new pages by using any web browser. There is no need to upload pages. Edit link: To edit a page ...  
ManagingTopics 12 Jan 2003 - 09:14 - r1.17 PeterThoeny
TOC STARTINCLUDE # Managing Topics Browser-based rename, move, and delete for individual topics Overview You can use browser-based controls to change a topic's name ...  
ManagingWebs 19 Jan 2003 - 08:22 - r1.23 PeterThoeny
TOC STARTINCLUDE # Managing Webs Adding webs is a web based operation; renaming and deleting webs are manual operations done directly on the server Overview A TWikiSite ...  
ManpreetSingh 12 Jan 2003 - 00:50 - r1.3 PeterThoeny
Manpreet Singh is a TWikiContributor. See home page at TWiki:Main/ManpreetSingh  
MartinCleaver 12 Jan 2003 - 00:51 - r1.2 PeterThoeny
Martin Cleaver is a TWikiContributor. See home page at TWiki:Main/MartinCleaver  
MartinRaabe 25 Jan 2003 - 06:42 - NEW PeterThoeny
Martin Raabe is a TWikiContributor. See home page at TWiki:Main.MartinRaabe  
MetaDataDefinition 07 Sep 2001 - 12:43 - r1.7 MikeMannix?
Merged into TWikiMetaData this topic to be rolled back.  
MetaDataRendering 11 Jan 2002 - 08:00 - r1.3 PeterThoeny
STARTINCLUDE ## Meta Data Rendering Various meta data can be stored in topics MetaDataDefinition This is rendered using the META variable. This is mostly used in ...  
MikeMannix 12 Jan 2003 - 02:25 - r1.2 PeterThoeny
Mike Mannix is a TWiki:Codev/CoreTeam member and a TWikiContributor. See TWiki:Main/MikeMannix  
MoveTopic 01 Sep 2001 - 07:38 - r1.2 MikeMannix?
ManagingTopics can be used to move a topic from one Web to another. One specialised use of this is DeleteWeb.  
NewUserTemplate 05 Jun 2002 - 07:34 - r1.3 PeterThoeny
SPLIT KEY : VALUE SPLIT Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH 70 Vertical size of text edit ...  
NicholasLee 12 Jan 2003 - 02:25 - r1.4 PeterThoeny
Nicholas Lee is a TWiki:Codev/CoreTeam member and a TWikiContributor. See home page at TWiki:Main/NicholasLee  
PeterFokkinga 12 Jan 2003 - 02:26 - r1.4 PeterThoeny
Peter Fokkinga is a TWikiContributor. See home page at TWiki:Main/PeterFokkinga  
PeterThoeny 12 Jan 2003 - 02:31 - r1.4 PeterThoeny
Peter Thoeny is the author of TWiki and therefore a TWiki:Codev/CoreTeam member and a TWikiContributor. See home page at TWiki:Main/PeterThoeny and MAINWEB .PeterThoeny ...  
PreviewBackground 23 Jan 2003 - 07:56 - r1.4 PeterThoeny
Background Image for Preview Preview looks like the real page, but the links leed to an oops dialog warning users of not yet saved topics. In addition, a background ...  
RandyKramer 12 Jan 2003 - 02:33 - r1.2 PeterThoeny
Rand Kramer is a TWikiContributor. See home page at TWiki:Main/RandyKramer  
RegularExpression 23 Nov 2002 - 05:52 - r1.3 PeterThoeny
Regular Expressions TOC Introduction Regular expressions (REs), unlike simple queries, allow you to search for text which matches a particular pattern. REs are similar ...  
ResetPassword 07 Nov 2002 - 07:54 - r1.4 PeterThoeny
Request for reset of password Please only use this ResetPassword form in case you really forgot your password. Otherwise just change it using ChangePassword. Thank ...  
RichardDonkin 12 Jan 2003 - 02:36 - r1.2 PeterThoeny
Richard Donkin is a TWiki:Codev/CoreTeam member and a TWikiContributor. See home page at TWiki:Main/RichardDonkin  
RyanFreebern 12 Jan 2003 - 02:37 - r1.2 PeterThoeny
Ryan Freebern is a TWikiContributor. See home page at TWiki:Main/RyanFreebern  
SearchDoesNotWork 01 Sep 2001 - 00:21 - r1.2 PeterThoeny
FAQ: I've problems with the WebSearch. There is no Search Result on any inquiry. By clicking the Index topic it's the same problem. Answer: That is an indication ...  
SimultaneousEdits 01 Sep 2001 - 00:22 - r1.2 PeterThoeny
FAQ: What happens if two of us try to edit the same topic simultaneously? Answer: The second person gets a warning that the topic is currently being edited by another ...  
SiteMap 21 Apr 2002 - 06:18 - r1.2 PeterThoeny
TWiki Site Map STARTINCLUDE TWiki Site Map Use to... SEARCH{ "\ Set SITEMAPLIST \ on" regex "on" web " MAINWEB , TWIKIWEB , all" nototal "on" nosearch "on" format ...  
SiteUsageStatistics 01 Sep 2001 - 07:27 - NEW MikeMannix?
TOC STARTINCLUDE ## Site Usage Statistics You can automatically generate usage statistics for all webs. To enable this: Make sure variable $doLogTopicView, $doLogTopicSave ...  
StandardColors 09 Dec 2002 - 20:08 - r1.4 PeterThoeny
The 256 Standard Colors This table can be used to choose a color in WEBPREFSTOPIC of each web. #000000 #000033 #000066 #000099 #0000CC #0000FF #003300 #003333 #003366 ...  
StanleyKnutson 12 Jan 2003 - 02:39 - r1.2 PeterThoeny
Stanley Knutson is a TWikiContributor. See home page at TWiki:Main/StanleyKnutson  
StartingPoints 01 Feb 2003 - 10:06 - r1.3 PeterThoeny
Welcome to TWiki. This page assumes that you are a new user to TWiki, and that you've never heard of Wiki before. Here are the most important pages you should know ...  
SvenDowideit 12 Jan 2003 - 02:40 - r1.2 PeterThoeny
Sven Dowideit is a TWikiContributor. See home page at TWiki:Main/SvenDowideit  
TWikiAccessControl 01 Sep 2004 - 07:50 - r1.28 KarstenDroste
TOC STARTINCLUDE # TWiki Access Control Restricting read and write access to topics and webs, by Users and groups TWikiAccessControl allows you restrict access to ...  
TWikiAdminCookBook 01 Sep 2004 - 07:50 - r1.3 KarstenDroste
TWiki Admin Cook Book This page has many tips and tricks, particularly useful when you're installing TWiki for the first time. This guide is most useful RED before ...  
TWikiCategoryTable 18 Sep 2001 - 06:31 - r1.7 PeterThoeny
Note: This feature has been replaced by: TWikiForms  
TWikiContributor 12 Jan 2003 - 00:48 - r1.6 PeterThoeny
TWiki Contributor A TWiki contributor is a person devoting his/her time to contribute on the development of the Open Source project TWiki, hosted at http://TWiki ...  
TWikiDocGraphics 25 Jan 2003 - 07:09 - r1.12 PeterThoeny
TWiki Documentation Graphics This is one way to create a library of common icons, accessible through user-defined TWikiVariables set in WebPreferences, or in TWikiPreferences ...  
TWikiDocumentation 31 Jan 2003 - 07:15 - r1.43 PeterThoeny
TWiki Reference Manual ( WIKIVERSION ) This page contains all documentation topics as one long, complete reference sheet. BR Doubleclick anywhere to return to the ...  
TWikiDownload 01 Sep 2001 - 01:32 - r1.2 PeterThoeny
FAQ: I would like to install TWiki on my server. Can I get the source? Answer: TWiki is distributed under the GnuGeneralPublicLicense. You can request the source ...  
TWikiEnhancementRequests 23 Jan 2003 - 08:34 - r1.4 PeterThoeny
Please bring your enhancement requests to TWiki:Codev.FeatureEnhancementRequest Related Topics TWikiHistory has a list of added features in TWiki. TWikiPlannedFeatures ...  
TWikiFAQ 23 Jan 2003 - 08:36 - r1.12 PeterThoeny
Frequently Asked Questions About TWiki This is a real FAQ, and also a demo of one easily implemented knowledge base solution. See how it's done, click Edit . SEARCH ...  
TWikiFaqTemplate 25 Oct 2001 - 02:07 - r1.2 PeterThoeny
FAQ: Answer: Back to: NOP TWikiFAQ WIKIUSERNAME DATE  
TWikiForms 25 Jan 2003 - 09:23 - r1.16 PeterThoeny
TOC STARTINCLUDE # TWiki Forms Form-based input in topics, with name/value pairs stored as Meta Data variables; choose one of multiple forms per web topic Overview ...  
TWikiFuncModule 02 Feb 2003 - 01:02 - r1.3 PeterThoeny
TOC STARTINCLUDE # TWiki::Func Module Documentation Official list of stable TWiki functions for Plugin developers Description This module defines official funtions ...  
TWikiGlossary 27 Jan 2003 - 09:11 - r1.2 PeterThoeny
TOC STARTINCLUDE # TWiki Glossary Simple glossary of TWiki terms Term Definition Attachment: Any type of file that is uploaded via browser and attached to a topic ...  
TWikiHistory 01 Sep 2004 - 07:50 - r1.62 KarstenDroste
TOC STARTINCLUDE # Appendix B: TWiki Development Timeline 01-Feb-2003 Release (Beijing) 18 Jan 2003 PeterThoeny Support for /bin/view/Web.TopicName topic view URL ...  
TWikiInstallationGuide 01 Sep 2004 - 07:50 - r1.54 KarstenDroste
TOC STARTINCLUDE # TWiki Installation Guide Installation instructions for the TWiki 01-Feb-2003 production release. Update notes for the new RCS configuration are ...  
TWikiLogos 28 Jun 2002 - 07:26 - NEW PeterThoeny
TWiki Logos Main.PeterThoeny 28 Jun 2002 Powered by TWiki robot, 121x54: Powered by TWiki robot, gray, 121x54: Powered by TWiki robot, button, 131x64: Powered by ...  
TWikiMetaData 11 Dec 2002 - 07:30 - r1.11 PeterThoeny
TOC STARTINCLUDE #MetaDataDefinition # TWiki Meta Data Additional topic data, program-generated or from TWikiForms, is stored in META variable name/value pairs Overview ...  
TWikiPlannedFeatures 23 Jan 2003 - 08:41 - r1.4 PeterThoeny
Features requested, planned or under construction are listed at the TWiki development home TWiki:Codev.WebHome Related Topics TWikiHistory has a list of added features ...  
TWikiPlugins 29 Jan 2003 - 07:21 - r1.21 PeterThoeny
TOC STARTINCLUDE # TWiki Plugins Plug-in enhanced feature add-ons, with a Plugin API for developers Overview You can add Plugins to extend TWiki's functionality, ...  
TWikiPreferences 06 Oct 2005 - 09:03 - r1.56 PiaFricker
TWiki Site-Level Preferences The following are site-level settings that affect all users in all webs on this TWikiSite. They can be selectively overwritten on the ...  
TWikiRegistration 30 Oct 2005 - 12:28 - r1.19 PiaFricker
No permission to read topic TWiki.TWikiRegistration perhaps you need to log in?  
TWikiRegistrationOLD 01 Sep 2004 - 07:51 - r1.9 KarstenDroste
To edit pages on this TWiki Collaborative Web, you must have a registered user name in WikiNotation. To register as a new user, simply fill out this form: First last ...  
TWikiShorthand 01 Feb 2003 - 10:03 - NEW PeterThoeny
INCLUDE{"WikiSyntax"}  
TWikiSite 12 May 2002 - 19:04 - r1.21 MikeMannix?
TWiki is a Web-based collaboration platform A TWiki site is an easy-to-use, full-featured open communications environment: people anywhere on the Web or on an intranet ...  
TWikiSiteTools 30 Jan 2003 - 07:43 - r1.7 PeterThoeny
TOC STARTINCLUDE # TWiki Site Tools Utilities for searching, navigation, and monitoring site activity TWikiSiteTools include utilities for navigating, searching and ...  
TWikiSkins 08 Jan 2003 - 07:14 - r1.11 PeterThoeny
TOC STARTINCLUDE # TWiki Skins Skins overlay regular templates with alternate header/footer layouts; topic text is not affected Overview Skins are customized TWikiTemplates ...  
TWikiSystemRequirements 02 Feb 2003 - 01:26 - r1.28 PeterThoeny
TOC STARTINCLUDE # TWiki System Requirements Server and client requirements for TWiki 01-Feb-2003 Low client and server requirements are core features that keep TWiki ...  
TWikiTemplates 01 Feb 2003 - 12:46 - r1.18 PeterThoeny
TOC STARTINCLUDE # TWiki Templates Definition of the templates used to render all HTML pages displayed in TWiki Overview The new modular template system offers flexible ...  
TWikiTopics 01 Feb 2003 - 11:46 - r1.12 PeterThoeny
TWiki Topics TOC The basic building block of a TWiki site is called a topic , identified by a unique, hopefully descriptive, TWIKIWEB .WikiWord title. It may seem ...  
TWikiTutorial 01 Sep 2004 - 07:50 - r1.13 KarstenDroste
TOC STARTINCLUDE # 20-Minute TWiki This step-by-step, hands-on tutorial gets you up to speed with all the TWikiSite basics, in mere minutes ... 1. Get set... Open ...  
TWikiUpgradeGuide 01 Sep 2004 - 07:50 - r1.4 KarstenDroste
TOC STARTINCLUDE # TWiki Upgrade Guide Upgrade from the previous TWiki 01-Dec-2001 production release to TWiki 01-Feb-2003 Overview This guide describes how to upgrade ...  
TWikiUpgradeTo01Dec2000 01 Sep 2004 - 07:50 - r1.16 KarstenDroste
## TWiki Upgrade Notes for Version 01 May 2000 If you are coming from a version earlier than the 01 May 2000 production release, please see TWikiUpgradeTo01May2000 ...  
TWikiUpgradeTo01Dec2001 01 Sep 2004 - 07:49 - r1.32 KarstenDroste
TOC STARTINCLUDE # TWiki Upgrade Guide Upgrade from TWiki 01-Dec-2000 or TWiki 01-Sep-2001 to TWiki 01-Dec-2001 (previous to new full release) This guide describes ...  
TWikiUpgradeTo01May2000 01 Sep 2004 - 07:50 - r1.5 KarstenDroste
To upgrade an earlier TWiki version like 01 Sep 1999 to version 01 May 2000 you should do the following things: Back up your system. Update the templates in the /templates ...  
TWikiUserAuthentication 01 Sep 2004 - 07:50 - r1.16 KarstenDroste
TOC STARTINCLUDE # TWiki User Authentication TWiki site access control and user activity tracking options TWiki does not authenticate users internally, it depends ...  
TWikiUsernameVsLoginUsername 01 Sep 2004 - 07:50 - r1.8 KarstenDroste
## TWiki Username vs. Login Username This section applies only if your TWiki is installed on a server that is both authenticated and on an intranet . TWiki internally ...  
TWikiVariables 27 Jan 2003 - 08:22 - r1.62 PeterThoeny
TOC STARTINCLUDE # TWiki Variables Special text strings expand on the fly to display user data or system info TWikiVariables are text strings VARIABLE that expand ...  
TWikiWebsTable 12 Apr 2002 - 10:53 - NEW PeterThoeny
INCLUDE{" TWIKIWEB .SiteMap"} (included from TWIKIWEB .SiteMap; change INCLUDINGWEB . INCLUDINGTOPIC to include from SiteMap instead of TWikiWebsTable)  
TablePlugin 30 Nov 2001 - 10:26 - NEW MikeMannix?
TablePlugin This optional but recommended Plugin is available at TWiki:Plugins/TablePlugin.  
TemplateWeb 19 Jan 2003 - 08:30 - NEW PeterThoeny
TOC Template Web Purpose Template webs were created to act as templates in creating webs. It is now possible to creation webs via the TWIKIWEB .ManagingWebs topic ...  
TextEditor 31 Jan 2003 - 06:40 - NEW PeterThoeny
Text Editor A text editor, or text processor, handles plain text only, different from a word processor because it doesn't do display formatting like bold type, or ...  
TextFormattingFAQ 09 Jan 2003 - 04:59 - r1.14 PeterThoeny
Text Formatting FAQ The most frequently asked questions about text formatting are answered. Also, TextFormattingRules contains the complete TWiki shorthand system ...  
TextFormattingRules 01 Feb 2003 - 20:47 - r1.37 PeterThoeny
TOC{depth "4"} STARTINCLUDE # TWiki Text Formatting Working in TWiki is as easy as typing in text exactly like email . You don't need to know HTML, though you can ...  
TimBernersLee 18 Jan 2003 - 09:57 - r1.2 PeterThoeny
Tim Berners-Lee invented the World Wide Web while working at CERN in 1989. See his biography at http://www.w3.org/People/Berners-Lee/ Main.PeterThoeny 12 Jan 2003 ...  
TwikiCaad3MemberRegistration 30 Oct 2005 - 16:48 - r1.10 PiaFricker
GREEN students of CAAD 1 ws05/06 register here ENDCOLOR RED read the small print below ENDCOLOR First last name: 'a') (ch 'A') (ch Email address: Team name: 'a') ...  
UnlockTopic 12 Jun 2002 - 03:31 - r1.5 PeterThoeny
Topics get locked for some time (default is one hour) whenever a user edits, previews or saves a topic. This is to prevent simultaneous topic updates. There is a lock ...  
VitoMiliano 12 Jan 2003 - 02:40 - r1.2 PeterThoeny
Vito Miliano is a TWikiContributor. See home page at TWiki:Main/VitoMiliano  
WabiSabi 12 May 2002 - 12:10 - r1.5 MikeMannix?
Since wabi-sabi represents a comprehensive Japanese world view or aesthetic system, it is difficult to explain precisely in western terms. According to Leonard Koren ...  
WebChanges 16 Aug 2001 - 19:59 - r1.3 PeterThoeny
SEARCH{". " web " INCLUDINGWEB " regex "on" nosearch "on" order "modified" reverse "on" limit "50"} See 100, 200, 400, 800 most recent changes See all changes  
WebChangesAlert 23 Jan 2003 - 08:08 - r1.13 PeterThoeny
INCLUDE{"DocsUserNote"} Web Changes Notification Service Each TWiki web has an automatic email notification service that sends you an email with links to all of the ...  
WebHome 01 Sep 2004 - 07:50 - r1.79 KarstenDroste
Welcome to TWiki: a flexible, powerful, secure, yet simple web-based collaboration platform. Use TWiki to run a project development space, a document management system ...  
WebIndex 24 Nov 2001 - 11:31 - r1.2 PeterThoeny
SEARCH{"\. " scope "topic" regex "on" nosearch "on"} See also the faster WebTopicList  
WebNotify 25 Jan 2003 - 10:02 - r1.5 PeterThoeny
This is a subscription service to be automatically notified by e-mail when topics change in this TWiki web. This is a convenient service, so you do not have to come ...  
WebPreferences 08 Oct 2004 - 08:32 - r1.20 KarstenDroste
TWiki Web Preferences The following settings are web preferences of the TWiki web. These preferences overwrite the site-level preferences in TWIKIWEB . WIKIPREFSTOPIC ...  
WebRss 30 Jan 2003 - 08:12 - NEW PeterThoeny
TWiki's TWiki web SCRIPTURL /view SCRIPTSUFFIX /TWiki The Documentation Web of TWiki. TWiki is a Web-Based Collaboration Platform for the Corporate World. INCLUDE ...  
WebRssBase 30 Jan 2003 - 08:11 - NEW PeterThoeny
RSS Feed This is the base for the RSS feed for each web. Each web has a WebRss that should contain the following text: TWiki's INCLUDINGWEB web SCRIPTURL /view SCRIPTSUFFIX ...  
WebSearch 19 Jan 2003 - 08:58 - r1.12 PeterThoeny
Simple search: Topic text (body) All webs (not only INCLUDINGWEB web) Topic name TWIKIWEB .BookView Advanced search: Topic text (body) Search all public INCLUDINGWEB ...  
WebSiteTools 08 Jan 2003 - 07:17 - r1.3 PeterThoeny
Web Site Tools STARTINCLUDE (More options in WebSearch) WebChanges: Display recent changes to the INCLUDINGWEB web WebIndex: List all INCLUDINGWEB topics in alphabetical ...  
WebStatistics 08 May 2009 - 00:56 - r1.1390 Main.guest
Statistics for TWiki Web Month: Topic views: Topic saves: File uploads: Most popular topic views: Top contributors for topic save and uploads: May 2009 1350 0 0 113 ...  
WebTopicEditTemplate 21 Nov 2001 - 02:02 - r1.5 PeterThoeny
WIKIUSERNAME DATE  
WebTopicList 24 Nov 2001 - 11:32 - NEW PeterThoeny
TOPICLIST{" $name "} See also the verbose WebIndex.  
WebTopicNonWikiTemplate 08 Jan 2003 - 07:22 - r1.6 PeterThoeny
NOTE: This Wiki topic does not exist WARNING: This topic name is not recommended because it will not be linked automatically. See TWIKIWEB .WikiWord for details. ...  
WebTopicViewTemplate 08 Jan 2003 - 07:23 - r1.6 PeterThoeny
NOTE: This Wiki topic does not exist yet If you would like to create this page: Simply click on the Create link at the bottom of this page. If you intend to do a ...  
WelcomeGuest 26 Oct 2004 - 21:46 - r1.22 KarstenDroste
Welcome, WIKIUSERNAME ! RED This is the standard TWiki welcome and not related to CAAD Chair ENDCOLOR Welcome to TWiki! This is a TWikiSite (pronounced twee-kee site ...  
WhatIsWikiWiki 18 Jan 2003 - 09:46 - r1.3 PeterThoeny
FAQ: So what is this WikiWiki thing exactly? Answer: A set of pages of information that are open and free for anyone to edit as they wish. They are stored in a server ...  
WikiCulture 10 Apr 2002 - 04:59 - r1.8 PeterThoeny
FAQ: Everybody can edit any page, this is scary. Doesn't that lead to chaos? Answer: TWiki is one of many WikiWikiClones, the first one was built by Ward Cunningham ...  
WikiName 18 Jan 2003 - 09:44 - r1.3 PeterThoeny
Your name, usually your first and last name connected without a space. For example, Tim Berners-Lee's WikiName is TimBernersLee. X Your name is also a potentially ...  
WikiNotation 01 Jul 2000 - 05:12 - r1.3 PeterThoeny
Wiki links topics automatically when you use the WikiWord notation.  
WikiReferences 11 Feb 2002 - 19:16 - r1.2 PeterThoeny
References on Wiki and Collaboration Some useful articles and books around collaboration and the Wiki technology in particular. Wiki Technology and TWiki Book: The ...  
WikiSyntax 01 Feb 2003 - 10:01 - r1.15 PeterThoeny
# TWiki Shorthand Basics If you can enter text, you're ready for TWiki. With a few simple, intuitive TextFormattingRules, you'll be able to use plain text to create ...  
WikiTopic 12 May 2002 - 06:35 - r1.3 MikeMannix?
A WikiTopic is one unit of information in a T/Wiki web. It is more or less a universal term in the world of Wikis. Each WikiTopic is displayed as one Web page in your ...  
WikiWikiClones 23 Jan 2003 - 08:23 - r1.5 PeterThoeny
TWiki is a Wiki Wiki clone and has its root in JOS Wiki. TWiki's home is at http://TWiki.org/ TWiki takes a lot of ideas from Ward Cunningham's remarkable Wiki Wiki ...  
WikiWord 18 Jan 2003 - 09:22 - r1.4 PeterThoeny
A WikiWord consists of two or more words with initial capitals, run together. When you type a WikiWord, you establish a hyperlink. It's as easy as that. WikiWords ...  
WindowsInstallCookbook 02 Feb 2003 - 01:36 - r1.3 PeterThoeny
TOC STARTINCLUDE # Windows Install Cookbook Introduction This cookbook is intended to get you up and running with TWiki on Windows quickly, with as few problems as ...  
YouAreHere 19 Jan 2003 - 08:43 - r1.2 PeterThoeny
STARTINCLUDE You are currently in the INCLUDINGWEB web. The color code for this web is this background, so you know where you are. If you are not familiar with the ...  

Number of topics: 142

See also the faster WebTopicList

 


WebNotify  

25 Jan 2003 - 10:02 - r1.5   PeterThoeny

This is a subscription service to be automatically notified by e-mail when topics change in this TWiki web. This is a convenient service, so you do not have to come back and check all the time if something has changed. To subscribe, please add a bullet with your WikiName in alphabetical order to this list:

Format: <space><space><space>, followed by:
* Main.yourWikiName (if you want that the e-mail address in your home page is used)
* Main.yourWikiName - yourEmailAddress (if you want to specify a different e-mail address)
* Main.anyTWikiGroup (if you want to notify all members of a particular TWikiGroup)

Related topics: TWikiUsers, TWikiRegistration

 


WebPreferences  

08 Oct 2004 - 08:32 - r1.20   KarstenDroste

TWiki Web Preferences

The following settings are web preferences of the TWiki web. These preferences overwrite the site-level preferences in TWikiPreferences, and can be overwritten by user preferences (your personal topic, eg: TWikiGuest in the Main web).

Preferences:

Notes:

Related Topics:

 


WebRss  

30 Jan 2003 - 08:12 - NEW   PeterThoeny

TWiki's TWiki web http://wiki.arch.ethz.ch/caadtwiki/bin/view/TWiki The Documentation Web of TWiki. TWiki is a Web-Based Collaboration Platform for the Corporate World. en-us Copyright 2009, Peter Thoeny and contributing authors. Peter Thoeny [Peter@Thoeny.com] Peter Thoeny [Peter@Thoeny.com] TWiki TWiki.TWiki TWiki.TWiki http://wiki.arch.ethz.ch/caadtwiki/bin/view/TWiki http://wiki.arch.ethz.ch/caadtwiki/pub/TWiki/TWikiLogos/twikilogo88x31.gif WebStatistics http://wiki.arch.ethz.ch/caadtwiki/bin/view/TWiki/WebStatistics Statistics for TWiki Web Month: Topic views: Topic saves: File uploads: Most popular topic views: Top contributors for topic save and uploads: May 2009 1350 0 0 113 ... 2009-05-08T00:56Z guest 1.1390 updated major http://wiki.arch.ethz.ch/caadtwiki/bin/rdiff/TWiki/WebStatistics http://wiki.arch.ethz.ch/caadtwiki/bin/rdiff/TWiki/WebStatistics TwikiCaad3MemberRegistration http://wiki.arch.ethz.ch/caadtwiki/bin/view/TWiki/TwikiCaad3MemberRegistration GREEN students of CAAD 1 ws05/06 register here ENDCOLOR RED read the small print below ENDCOLOR First last name: 'a') (ch 'A') (ch Email address: Team name: 'a') ... 2005-10-30T16:48Z PiaFricker 1.10 updated major http://wiki.arch.ethz.ch/caadtwiki/bin/rdiff/TWiki/TwikiCaad3MemberRegistration http://wiki.arch.ethz.ch/caadtwiki/bin/rdiff/TWiki/TwikiCaad3MemberRegistration TWikiRegistration http://wiki.arch.ethz.ch/caadtwiki/bin/view/TWiki/TWikiRegistration No permission to read topic TWiki.TWikiRegistration perhaps you need to log in? 2005-10-30T12:28Z PiaFricker 1.19 updated major http://wiki.arch.ethz.ch/caadtwiki/bin/rdiff/TWiki/TWikiRegistration http://wiki.arch.ethz.ch/caadtwiki/bin/rdiff/TWiki/TWikiRegistration TWikiPreferences http://wiki.arch.ethz.ch/caadtwiki/bin/view/TWiki/TWikiPreferences TWiki Site-Level Preferences The following are site-level settings that affect all users in all webs on this TWikiSite. They can be selectively overwritten on the ... 2005-10-06T09:03Z PiaFricker 1.56 updated major http://wiki.arch.ethz.ch/caadtwiki/bin/rdiff/TWiki/TWikiPreferences http://wiki.arch.ethz.ch/caadtwiki/bin/rdiff/TWiki/TWikiPreferences WelcomeGuest http://wiki.arch.ethz.ch/caadtwiki/bin/view/TWiki/WelcomeGuest Welcome, WIKIUSERNAME ! RED This is the standard TWiki welcome and not related to CAAD Chair ENDCOLOR Welcome to TWiki! This is a TWikiSite (pronounced twee-kee site ... 2004-10-26T21:46Z KarstenDroste 1.22 updated major http://wiki.arch.ethz.ch/caadtwiki/bin/rdiff/TWiki/WelcomeGuest http://wiki.arch.ethz.ch/caadtwiki/bin/rdiff/TWiki/WelcomeGuest FileAttribute http://wiki.arch.ethz.ch/caadtwiki/bin/view/TWiki/FileAttribute Each FileAttachment in a Topic has an attribute string. At present only only the hidden attribute is supported. If the attribute includes h then the attachment is ... 2004-10-08T12:52Z SusanneSchumacher 1.3 updated major http://wiki.arch.ethz.ch/caadtwiki/bin/rdiff/TWiki/FileAttribute http://wiki.arch.ethz.ch/caadtwiki/bin/rdiff/TWiki/FileAttribute WebPreferences http://wiki.arch.ethz.ch/caadtwiki/bin/view/TWiki/WebPreferences TWiki Web Preferences The following settings are web preferences of the TWiki web. These preferences overwrite the site-level preferences in TWIKIWEB . WIKIPREFSTOPIC ... 2004-10-08T08:32Z KarstenDroste 1.20 updated major http://wiki.arch.ethz.ch/caadtwiki/bin/rdiff/TWiki/WebPreferences http://wiki.arch.ethz.ch/caadtwiki/bin/rdiff/TWiki/WebPreferences EditTablePlugin http://wiki.arch.ethz.ch/caadtwiki/bin/view/TWiki/EditTablePlugin Edit Table Plugin This plugin allows you to edit TWiki tables using edit fields and drop down boxes. Tables have an Edit table button if preceeded by an EDITTABLE ... 2004-09-17T01:40Z PeterThoeny 1.24 updated major http://wiki.arch.ethz.ch/caadtwiki/bin/rdiff/TWiki/EditTablePlugin http://wiki.arch.ethz.ch/caadtwiki/bin/rdiff/TWiki/EditTablePlugin CaadLogos http://wiki.arch.ethz.ch/caadtwiki/bin/view/TWiki/CaadLogos Main.KarstenDroste 01 Sep 2004 version with extra space left and right: default logo for this twiki: 2004-09-02T09:13Z OliverFritz 1.2 updated major http://wiki.arch.ethz.ch/caadtwiki/bin/rdiff/TWiki/CaadLogos http://wiki.arch.ethz.ch/caadtwiki/bin/rdiff/TWiki/CaadLogos TWikiRegistrationOLD http://wiki.arch.ethz.ch/caadtwiki/bin/view/TWiki/TWikiRegistrationOLD To edit pages on this TWiki Collaborative Web, you must have a registered user name in WikiNotation. To register as a new user, simply fill out this form: First last ... 2004-09-01T07:51Z KarstenDroste 1.9 updated major http://wiki.arch.ethz.ch/caadtwiki/bin/rdiff/TWiki/TWikiRegistrationOLD http://wiki.arch.ethz.ch/caadtwiki/bin/rdiff/TWiki/TWikiRegistrationOLD TWikiUserAuthentication http://wiki.arch.ethz.ch/caadtwiki/bin/view/TWiki/TWikiUserAuthentication TOC STARTINCLUDE # TWiki User Authentication TWiki site access control and user activity tracking options TWiki does not authenticate users internally, it depends ... 2004-09-01T07:50Z KarstenDroste 1.16 updated major http://wiki.arch.ethz.ch/caadtwiki/bin/rdiff/TWiki/TWikiUserAuthentication http://wiki.arch.ethz.ch/caadtwiki/bin/rdiff/TWiki/TWikiUserAuthentication TWikiUsernameVsLoginUsername http://wiki.arch.ethz.ch/caadtwiki/bin/view/TWiki/TWikiUsernameVsLoginUsername ## TWiki Username vs. Login Username This section applies only if your TWiki is installed on a server that is both authenticated and on an intranet . TWiki internally ... 2004-09-01T07:50Z KarstenDroste 1.8 updated major http://wiki.arch.ethz.ch/caadtwiki/bin/rdiff/TWiki/TWikiUsernameVsLoginUsername http://wiki.arch.ethz.ch/caadtwiki/bin/rdiff/TWiki/TWikiUsernameVsLoginUsername WebHome http://wiki.arch.ethz.ch/caadtwiki/bin/view/TWiki/WebHome Welcome to TWiki: a flexible, powerful, secure, yet simple web-based collaboration platform. Use TWiki to run a project development space, a document management system ... 2004-09-01T07:50Z KarstenDroste 1.79 updated major http://wiki.arch.ethz.ch/caadtwiki/bin/rdiff/TWiki/WebHome http://wiki.arch.ethz.ch/caadtwiki/bin/rdiff/TWiki/WebHome MainFeatures http://wiki.arch.ethz.ch/caadtwiki/bin/view/TWiki/MainFeatures Main Features of TWiki Any web browser: Edit existing pages or create new pages by using any web browser. There is no need to upload pages. Edit link: To edit a page ... 2004-09-01T07:50Z KarstenDroste 1.2 updated major http://wiki.arch.ethz.ch/caadtwiki/bin/rdiff/TWiki/MainFeatures http://wiki.arch.ethz.ch/caadtwiki/bin/rdiff/TWiki/MainFeatures TWikiAccessControl http://wiki.arch.ethz.ch/caadtwiki/bin/view/TWiki/TWikiAccessControl TOC STARTINCLUDE # TWiki Access Control Restricting read and write access to topics and webs, by Users and groups TWikiAccessControl allows you restrict access to ... 2004-09-01T07:50Z KarstenDroste 1.28 updated major http://wiki.arch.ethz.ch/caadtwiki/bin/rdiff/TWiki/TWikiAccessControl http://wiki.arch.ethz.ch/caadtwiki/bin/rdiff/TWiki/TWikiAccessControl TWikiAdminCookBook http://wiki.arch.ethz.ch/caadtwiki/bin/view/TWiki/TWikiAdminCookBook TWiki Admin Cook Book This page has many tips and tricks, particularly useful when you're installing TWiki for the first time. This guide is most useful RED before ... 2004-09-01T07:50Z KarstenDroste 1.3 updated major http://wiki.arch.ethz.ch/caadtwiki/bin/rdiff/TWiki/TWikiAdminCookBook http://wiki.arch.ethz.ch/caadtwiki/bin/rdiff/TWiki/TWikiAdminCookBook

 


WebRssBase  

30 Jan 2003 - 08:11 - NEW   PeterThoeny

RSS Feed

This is the base for the RSS feed for each web.

Each web has a WebRss that should contain the following text:


<channel rdf:about="%SCRIPTURL%/view%SCRIPTSUFFIX%/%INCLUDINGWEB%">
  <title>%WIKITOOLNAME%'s %INCLUDINGWEB% web</title>
  <link>%SCRIPTURL%/view%SCRIPTSUFFIX%/%INCLUDINGWEB%</link>
  <description>(the description of the web). TWiki is a Web-Based Collaboration Platform for the Corporate World.</description>
%INCLUDE{"%TWIKIWEB%.WebRssBase"}%

Below part is included by each WebRss topic:


%STARTINCLUDE%  <image rdf:resource="%PUBURL%/twikilogo88x31.gif" />
  <dc:language>en-us</dc:language>
  <dc:rights>Copyright %GMTIME{"$year"}%, Peter Thoeny and contributing authors.</dc:rights>
  <dc:publisher>Peter Thoeny [Peter@Thoeny.com]</dc:publisher>
  <dc:creator>Peter Thoeny [Peter@Thoeny.com]</dc:creator>
  <dc:source>TWiki</dc:source>
  <wiki:interwiki>
    <rdf:Description link="%SCRIPTURL%/view%SCRIPTSUFFIX%/%INCLUDINGWEB%/">
      <rdf:value>TWiki.%INCLUDINGWEB%</rdf:value>
    </rdf:Description>
  </wiki:interwiki>
  <items>
    <rdf:Seq>
%SEARCH{".*" web="%INCLUDINGWEB%" regex="on" nosearch="on" order="modified" reverse="on" nototal="on" limit="16" format="      <rdf:li rdf:resource=\"%SCRIPTURL%/view%SCRIPTSUFFIX%/$web/$topic\" />"}%
    </rdf:Seq>
  </items>
</channel>
<image rdf:about="%PUBURL%/twikilogo88x31.gif">
  <title>TWiki.%INCLUDINGWEB%</title>
  <link>%SCRIPTURL%/view%SCRIPTSUFFIX%/%INCLUDINGWEB%</link>
  <url>%PUBURL%/%TWIKIWEB%/TWikiLogos/twikilogo88x31.gif</url>
</image>
%SEARCH{".*" web="%INCLUDINGWEB%" regex="on" nosearch="on" order="modified" reverse="on" nototal="on" limit="16" format="<item rdf:about=\"%SCRIPTURL%/view%SCRIPTSUFFIX%/$web/$topic\">$n  <title>$topic</title>$n  <link>%SCRIPTURL%/view%SCRIPTSUFFIX%/$web/$topic</link>$n  <description>$summary</description>$n  <dc:date>$isodate</dc:date>$n  <dc:contributor>$n    <rdf:Description link=\"%SCRIPTURL%/view%SCRIPTSUFFIX%?topic=$wikiusername\">$n      <rdf:value>$username</rdf:value>$n    </rdf:Description>$n  </dc:contributor>$n  <wiki:version>$rev</wiki:version>$n  <wiki:status>updated</wiki:status>$n  <wiki:importance>major</wiki:importance>$n  <wiki:diff>%SCRIPTURL%/rdiff%SCRIPTSUFFIX%/$web/$topic</wiki:diff>$n  <wiki:history>%SCRIPTURL%/rdiff%SCRIPTSUFFIX%/$web/$topic</wiki:history>$n</item>"}%
%STOPINCLUDE%

See also: TWiki:Codev/RichSiteSummary, TWiki:Codev/TWikiSyndication

-- PeterThoeny - 30 Jan 2003

 


WebSearch  

19 Jan 2003 - 08:58 - r1.12   PeterThoeny

 


WebSiteTools  

08 Jan 2003 - 07:17 - r1.3   PeterThoeny

Web Site Tools


 


WebStatistics  

08 May 2009 - 00:56 - r1.1390   Main.guest

Statistics for TWiki Web

Month: Topic
views:
Topic
saves:
File
uploads:
Most popular
topic views:
Top contributors for
topic save and uploads:
May 2009 1350 0 0 113 TWikiDocumentation
 87 FileAttachment
 60 TWikiForms
 52 TWikiMetaData
 45 MetaDataDefinition
 44 EditTablePlugin
 38 WebStatistics
 37 TWikiDocGraphics
 36 TWikiTemplates
 32 WelcomeGuest
 31 TWikiVariables
 
Apr 2009 1913 0 0 290 EditTablePlugin
239 TWikiInstallationGuide
162 TWikiDocumentation
 92 WebStatistics
 69 FileAttachment
 62 TextFormattingRules
 46 ManagingWebs
 45 TWikiForms
 41 PreviewBackground
 38 TwikiCaad3MemberRegistration
 36 TWikiSite
 
Mar 2009 1851 0 0 261 TWikiDocumentation
198 AppendixFileSystem
114 TWikiForms
 89 ManagingWebs
 84 WebHome
 51 TWikiVariables
 50 WebStatistics
 45 TWikiSite
 42 TwikiCaad3MemberRegistration
 38 WabiSabi
 35 TWikiInstallationGuide
 
Feb 2009 1259 0 0 207 TWikiDocumentation
100 TWikiVariables
 62 WebStatistics
 43 TWikiForms
 36 TWikiPreferences
 36 AppendixFileSystem
 34 TWikiUpgradeTo01Dec2001
 32 TWikiLogos
 28 TwikiCaad3MemberRegistration
 27 WabiSabi
 26 ManagingWebs
 
Jan 2009 2123 0 0 194 TWikiDocumentation
193 WebStatistics
121 TWikiVariables
 87 TWikiForms
 75 AppendixFileSystem
 72 TWikiMetaData
 69 TWikiHistory
 44 TWikiLogos
 43 WabiSabi
 41 ManagingWebs
 38 TwikiCaad3MemberRegistration
 
Dec 2008 1965 0 0 364 WebStatistics
161 TWikiDocumentation
125 TWikiVariables
 87 TWikiForms
 70 TWikiMetaData
 47 ManagingWebs
 44 EditTablePlugin
 32 TWikiSite
 30 AppendixFileSystem
 28 WebPreferences
 28 WabiSabi
 
Nov 2008 1532 0 0 188 WebStatistics
131 TWikiVariables
 80 TWikiDocumentation
 73 TWikiForms
 73 TWikiMetaData
 62 EditTablePlugin
 38 TwikiCaad3MemberRegistration
 31 WabiSabi
 30 ManagingWebs
 28 AppendixFileSystem
 25 TWikiLogos
 
Oct 2008 2416 0 0 272 TWikiVariables
155 TWikiDocumentation
148 WebStatistics
130 TWikiMetaData
115 TWikiForms
 94 TWikiHistory
 87 WebHome
 75 EditTablePlugin
 59 TWikiLogos
 58 MetaDataDefinition
 54 AppendixFileSystem
 
Sep 2008 4130 0 0 477 TWikiVariables
269 TWikiMetaData
263 EditTablePlugin
255 WebStatistics
242 AppendixFileSystem
218 TWikiDocumentation
217 TWikiForms
164 MetaDataDefinition
118 PreviewBackground
110 TWikiTemplates
 89 TWikiDocGraphics
 
Aug 2008 984 0 0 358 TWikiDocumentation
 46 EditTablePlugin
 35 ManagingWebs
 30 TWikiMetaData
 25 TWikiSite
 22 TWikiForms
 21 WebSearch
 20 WebChangesAlert
 18 TwikiCaad3MemberRegistration
 13 TextFormattingRules
 13 FileAttachment
 
Jul 2008 828 0 0 159 TWikiDocumentation
 47 TWikiVariables
 30 WebStatistics
 27 EditTablePlugin
 24 TWikiMetaData
 22 TWikiTemplates
 19 TWikiForms
 18 TWikiInstallationGuide
 15 TwikiCaad3MemberRegistration
 14 TWikiDocGraphics
 14 ManagingWebs
 
Jun 2008 1291 0 0 394 TWikiDocumentation
 76 TWikiForms
 68 ManagingWebs
 36 TwikiCaad3MemberRegistration
 25 TWikiTopics
 23 TWikiUpgradeTo01Dec2000
 18 TWikiVariables
 17 TWikiSite
 17 EditTablePlugin
 16 WabiSabi
 15 TWikiLogos
 
May 2008 1048 0 0 380 TWikiDocumentation
127 TWikiVariables
 55 TWikiLogos
 47 TWikiMetaData
 40 WebStatistics
 32 TWikiGlossary
 23 TwikiCaad3MemberRegistration
 20 TWikiSkins
 19 IncludeTopicsAndWebPages
 19 ManagingWebs
 14 WikiWord
 
Apr 2008 949 0 0 199 TWikiDocumentation
 83 TWikiVariables
 34 TWikiMetaData
 33 EditTablePlugin
 30 FileAttachment
 24 TWikiForms
 22 WabiSabi
 22 WebStatistics
 19 TWikiSite
 18 TwikiCaad3MemberRegistration
 18 TWikiGlossary
 
Mar 2008 2760 0 0 397 TWikiDocumentation
169 TWikiVariables
 69 ManagingWebs
 68 TWikiForms
 66 WabiSabi
 53 FileAttachment
 41 TWikiSkins
 37 TWikiUpgradeTo01Dec2001
 34 TWikiTemplates
 33 TWikiInstallationGuide
 32 AppendixFileSystem
 
Feb 2008 1565 0 0 300 TWikiDocumentation
 23 TwikiCaad3MemberRegistration
 21 TWikiSkins
 19 WebHome
 18 TWikiHistory
 18 TWikiDocGraphics
 18 TWikiVariables
 17 TWikiTemplates
 17 WebStatistics
 17 TextFormattingRules
 17 EditTablePlugin
 
Jan 2008 1755 0 0 185 TWikiDocumentation
 50 TWikiVariables
 37 TWikiSite
 35 ManagingWebs
 29 TWikiForms
 28 TWikiGlossary
 27 TWikiSkins
 25 TWikiTemplates
 25 IncludeTopicsAndWebPages
 24 TwikiCaad3MemberRegistration
 24 TWikiLogos
 
Dec 2007 1376 0 0 259 TWikiDocumentation
 34 WebStatistics
 27 TWikiForms
 24 ManagingWebs
 20 TWikiSite
 20 WebHome
 19 TwikiCaad3MemberRegistration
 19 TWikiSkins
 18 WebChangesAlert
 18 TWikiVariables
 17 ManagingTopics
 
Nov 2007 716 0 0 449 TWikiDocumentation
 22 ManagingWebs
 14 TWikiHistory
 11 WebStatistics
  8 TwikiCaad3MemberRegistration
  7 TWikiSite
  5 WikiName
  5 TextFormattingRules
  5 WebChangesAlert
  5 TWikiVariables
  5 TWikiMetaData
 
Oct 2007 1516 0 0 454 TWikiDocumentation
162 WebStatistics
 34 PreviewBackground
 28 TWikiMetaData
 26 TWikiForms
 22 TWikiSite
 19 TwikiCaad3MemberRegistration
 19 ManagingTopics
 19 TWikiSiteTools
 18 TWikiPreferences
 18 TextFormattingRules
 
Sep 2007 2659 0 0 399 TWikiVariables
373 WebStatistics
257 TWikiDocumentation
151 TWikiMetaData
142 EditTablePlugin
116 TWikiInstallationGuide
105 AppendixFileSystem
 68 TWikiForms
 59 TWikiDocGraphics
 52 TWikiTemplates
 47 MetaDataDefinition
 
Aug 2007 5247 0 0 465 TWikiVariables
410 TWikiMetaData
402 WebStatistics
336 TWikiForms
321 TWikiTemplates
266 EditTablePlugin
194 TWikiDocGraphics
161 AppendixFileSystem
131 TWikiDocumentation
113 TWikiInstallationGuide
 96 MetaDataDefinition
 
Jul 2007 6094 0 0 1344 WebStatistics
343 TWikiVariables
313 TWikiMetaData
308 TWikiForms
205 AppendixFileSystem
164 TWikiInstallationGuide
155 EditTablePlugin
126 TWikiDocumentation
116 TWikiPreferences
 89 FileAttachment
 79 TWikiDocGraphics
 
Jun 2007 4263 0 0 1437 WebStatistics
222 TWikiVariables
199 AppendixFileSystem
192 TWikiForms
180 TWikiMetaData
142 TWikiDocumentation
 81 TWikiInstallationGuide
 66 TWikiPreferences
 60 EditTablePlugin
 54 ManagingWebs
 46 FileAttachment
 
May 2007 3641 0 0 1113 WebStatistics
229 TWikiMetaData
221 AppendixFileSystem
185 TWikiForms
156 TWikiVariables
 94 TWikiInstallationGuide
 66 TWikiDocumentation
 64 EditTablePlugin
 52 TWikiSystemRequirements
 40 WebHome
 39 FileAttachment
 
Apr 2007 4309 0 0 1487 WebStatistics
196 TWikiMetaData
184 TWikiVariables
178 TWikiForms
146 AppendixFileSystem
107 TWikiInstallationGuide
 71 TWikiDocumentation
 70 EditTablePlugin
 59 FileAttachment
 56 WebHome
 55 TWikiPreferences
 
Mar 2007 4510 0 0 935 WebStatistics
415 TWikiVariables
222 TWikiMetaData
204 TWikiForms
154 AppendixFileSystem
130 TWikiSystemRequirements
106 TWikiInstallationGuide
 88 TextFormattingRules
 84 MetaDataDefinition
 72 EditTablePlugin
 69 FileAttachment
 
Feb 2007 4140 0 0 649 WebStatistics
342 TWikiDocumentation
270 TWikiVariables
218 TWikiForms
169 AppendixFileSystem
134 EditTablePlugin
129 TWikiMetaData
122 WebHome
117 TWikiSystemRequirements
 99 MetaDataDefinition
 77 TWikiUpgradeTo01Dec2001
 
Jan 2007 4370 0 0 969 WebStatistics
374 TWikiDocumentation
318 EditTablePlugin
252 TWikiForms
155 TWikiMetaData
104 TWikiInstallationGuide
 97 FileAttachment
 94 AppendixFileSystem
 76 TWikiDocGraphics
 53 ManagingWebs
 52 WebHome
 
Dec 2006 6298 0 0 885 TWikiDocumentation
843 WebStatistics
406 EditTablePlugin
399 TWikiForms
209 TWikiMetaData
182 TWikiInstallationGuide
175 AppendixFileSystem
169 TWikiVariables
166 TextFormattingRules
145 FileAttachment
139 TWikiSystemRequirements
 
Nov 2006 5497 0 0 688 TWikiDocumentation
586 WebStatistics
422 TWikiForms
338 AppendixFileSystem
325 TWikiInstallationGuide
306 TWikiSystemRequirements
266 TWikiVariables
220 TWikiMetaData
170 TextFormattingRules
112 FileAttachment
106 TWikiTemplates
 
Oct 2006 4496 0 0 550 WebStatistics
473 TWikiDocumentation
302 TWikiSystemRequirements
284 TWikiMetaData
273 TWikiForms
256 TWikiInstallationGuide
229 TWikiVariables
209 AppendixFileSystem
138 TextFormattingRules
 99 WebHome
 98 TWikiHistory
 
Sep 2006 5843 0 0 732 EditTablePlugin
513 TWikiDocumentation
359 TWikiForms
313 WebStatistics
277 AppendixFileSystem
250 TWikiVariables
246 TWikiMetaData
153 WebHome
118 MetaDataDefinition
102 TWikiTemplates
 95 ManagingWebs
 
Aug 2006 4131 0 0 480 WebStatistics
368 TWikiDocumentation
241 TWikiMetaData
227 TWikiForms
189 TWikiVariables
164 AppendixFileSystem
125 MetaDataDefinition
123 TWikiTemplates
114 TextFormattingRules
109 TWikiInstallationGuide
 87 EditTablePlugin
 
Jul 2006 2763 0 0 240 WebStatistics
156 TWikiForms
128 TWikiInstallationGuide
111 AppendixFileSystem
 95 ManagingWebs
 76 TWikiMetaData
 68 TWikiHistory
 67 WebHome
 64 TWikiSystemRequirements
 56 WelcomeGuest
 55 TextFormattingRules
 
Jun 2006 5382 0 0 554 WebStatistics
216 TWikiInstallationGuide
199 ManagingWebs
157 TWikiPreferences
146 TWikiMetaData
138 TWikiHistory
130 TWikiForms
110 TextFormattingRules
 97 WebHome
 90 TWikiSite
 88 AppendixFileSystem
 
May 2006 5164 0 0 457 WebStatistics
285 TWikiForms
224 TWikiSystemRequirements
223 TWikiInstallationGuide
165 TextFormattingRules
156 TWikiHistory
151 ManagingWebs
135 TWikiPreferences
131 TWikiVariables
112 TWikiDocumentation
 76 AppendixFileSystem
 
Apr 2006 3378 0 0 335 WebStatistics
158 TWikiForms
130 TWikiPreferences
121 TWikiVariables
115 ManagingWebs
111 TWikiInstallationGuide
 87 TWikiSystemRequirements
 86 EditTablePlugin
 79 FileAttachment
 73 TextFormattingRules
 71 WelcomeGuest
 
Mar 2006 5131 3 0 321 WebStatistics
308 ManagingWebs
292 TWikiVariables
231 TWikiForms
183 TWikiInstallationGuide
144 TextFormattingRules
112 EditTablePlugin
109 TWikiSystemRequirements
 87 FileAttachment
 86 TWikiHistory
 84 WelcomeGuest
  3 PiaFricker
Feb 2006 4743 0 0 254 TWikiInstallationGuide
253 TWikiForms
172 TextFormattingRules
171 WebStatistics
161 TWikiVariables
134 AppendixFileSystem
130 TWikiSystemRequirements
127 TWikiPreferences
103 TWikiHistory
102 TWikiMetaData
101 TWikiDocumentation
 
Jan 2006 3417 0 0 227 TWikiForms
197 TWikiVariables
118 TWikiInstallationGuide
104 WebHome
100 TextFormattingRules
 97 AppendixFileSystem
 96 TWikiDocumentation
 90 WebStatistics
 77 FileAttachment
 77 TWikiRegistration
 77 TWikiMetaData
 
Dec 2005 5170 0 0 231 TWikiVariables
194 TWikiInstallationGuide
188 TWikiForms
177 TWikiSystemRequirements
154 WebHome
149 AppendixFileSystem
135 TwikiCaad3MemberRegistration
130 TWikiDocumentation
126 TextFormattingRules
124 TWikiPreferences
122 WebStatistics
 
Nov 2005 4368 0 0 219 TWikiVariables
218 TwikiCaad3MemberRegistration
184 TWikiForms
130 TWikiInstallationGuide
109 TWikiPreferences
108 TWikiRegistration
 97 TextFormattingRules
 87 FileAttachment
 81 WebChanges
 79 TWikiMetaData
 77 EditTablePlugin
 
Oct 2005 378 5 0  28 TWikiPreferences
 24 WebChanges
 24 WebIndex
 23 WebSearch
 22 TWikiRegistration
 14 TWikiAccessControl
 12 WelcomeGuest
  9 TwikiCaad3MemberRegistration
  8 WebPreferences
  8 TextFormattingRules
  7 FileAttachment
  5 PiaFricker
Sep 2005 394 1 0  19 TextFormattingRules
 15 TwikiCaad3MemberRegistration
 14 TWikiVariables
 10 WebTopicEditTemplate
  9 WikiName
  8 TWikiRegistration
  8 TWikiPreferences
  7 WebSearch
  7 ManagingWebs
  7 FileAttachment
  7 BookView
  1 KarstenDroste
Jul 2005 3081 0 0 135 WebHome
121 TWikiHistory
111 WebStatistics
105 TWikiPreferences
 91 TWikiVariables
 89 TWikiInstallationGuide
 80 TextFormattingRules
 60 TWikiAccessControl
 56 TWikiUpgradeTo01Dec2001
 51 TWikiSystemRequirements
 50 ManagingWebs
 
Jun 2005 22507 0 0 848 WebHome
657 MartinRaabe
656 GrantBow
649 TWikiInstallationGuide
646 WebStatistics
628 TimBernersLee
536 TWikiDocumentation
505 TWikiPreferences
504 WebRss
471 TWikiVariables
455 TWikiHistory
 
May 2005 51 0 0   5 TwikiCaad3MemberRegistration
  5 TextFormattingRules
  4 TWikiShorthand
  3 WikiSyntax
  3 GoodStyle
  2 WebHome
  2 TWikiUpgradeTo01Dec2001
  2 TWikiPreferences
  2 TWikiPlugins
  2 TWikiAccessControl
  2 StandardColors
 
Apr 2005 1254 0 0 173 WebHome
152 TWikiVariables
 71 TWikiPreferences
 36 TWikiRegistration
 33 FileAttachment
 31 TwikiCaad3MemberRegistration
 24 TextFormattingRules
 23 TextFormattingFAQ
 21 WelcomeGuest
 19 AppendixFileSystem
 16 WikiName
 
Mar 2005 188 0 0  11 TWikiVariables
 10 WebStatistics
  8 TwikiCaad3MemberRegistration
  6 TWikiRegistration
  6 FileAttachment
  5 WelcomeGuest
  5 WebHome
  4 WikiName
  4 WebTopicViewTemplate
  4 WebTopicNonWikiTemplate
  4 WebTopicEditTemplate
 
Feb 2005 124 0 0   8 TWikiVariables
  7 WebStatistics
  6 TwikiCaad3MemberRegistration
  5 WikiTopic
  4 TWikiUsernameVsLoginUsername
  4 TWikiUpgradeTo01Dec2001
  4 TWikiPlannedFeatures
  4 SimultaneousEdits
  3 WebTopicEditTemplate
  3 WebSearch
  3 TWikiPreferences
 
Jan 2005 2120 0 0  69 TwikiCaad3MemberRegistration
 45 WelcomeGuest
 45 TextFormattingRules
 42 TWikiPreferences
 39 TWikiInstallationGuide
 37 TWikiVariables
 36 GoodStyle
 35 WikiName
 34 FileAttachment
 34 ChangePassword
 33 TWikiRegistration
 
Dec 2004 1496 0 0  83 TwikiCaad3MemberRegistration
 47 TWikiVariables
 38 WikiName
 37 TWikiPreferences
 35 TWikiRegistration
 30 WebHome
 29 TextFormattingRules
 28 WebSearch
 28 FileAttachment
 23 WelcomeGuest
 23 TWikiAccessControl
 
Nov 2004 2030 1 0 348 TwikiCaad3MemberRegistration
150 TWikiRegistration
133 TextFormattingRules
 89 WikiName
 84 TWikiVariables
 83 WelcomeGuest
 59 TWikiAccessControl
 48 ChangePassword
 46 TWikiPreferences
 42 WebHome
 40 GoodStyle
  1 KarstenDroste
Oct 2004 1351 25 1  58 TWikiRegistration
 54 WebHome
 54 TextFormattingRules
 52 TwikiClassMemberRegistration?
 44 WelcomeGuest
 35 TWikiHistory
 33 TWikiVariables
 32 TWikiSite
 32 TWikiPreferences
 29 ManagingWebs
 28 TWikiAccessControl
 20 KarstenDroste
  5 SusanneSchumacher
  1 TorstenSpindler

Notes:

 


WebTopicEditTemplate  

21 Nov 2001 - 02:02 - r1.5   PeterThoeny

-- Main.guest - 08 May 2009

 


WebTopicList  

24 Nov 2001 - 11:32 - NEW   PeterThoeny

See also the verbose WebIndex.

 


WebTopicNonWikiTemplate  

08 Jan 2003 - 07:22 - r1.6   PeterThoeny

NOTE: This Wiki topic does not exist

WARNING: This topic name is not recommended because it will not be linked automatically. See WikiWord for details.

If you intended to do a full text search:

Use the Search link on top of this page, or do a simple
   (More options in WebSearch)

If you used the "Go" feature to jump to this page:

Make sure you spelled the WikiWord correctly and try again. Remember, a WikiWord is case sensitive.

 


WebTopicViewTemplate  

08 Jan 2003 - 07:23 - r1.6   PeterThoeny

NOTE: This Wiki topic does not exist yet

If you would like to create this page:

Simply click on the Create link at the bottom of this page.

If you intend to do a full text search:

Use the Search link on top of this page, or do a simple
   (More options in WebSearch)

If you used the "Go" feature to jump to this page:

Make sure you spelled the WikiWord correctly and try again. Remember, a WikiWord is case sensitive.

 


WelcomeGuest  

26 Oct 2004 - 21:46 - r1.22   KarstenDroste

Welcome, Main.guest!

This is the standard TWiki welcome and not related to CAAD Chair

Welcome to TWiki! This is a TWikiSite (pronounced twee-kee site), a meeting place to work on common interests. Anyone can contribute using any web browser. TWiki looks like a normal Web site... except that it encourages contribution and editing of pages, questions, answers, comments and updates.

Mission: "TWiki is a leading-edge, web-based collaboration platform targeting the corporate intranet world. TWiki fosters information flow within an organization; lets distributed teams work together seamlessly and productively; and eliminates the one-webmaster syndrome of outdated intranet content."

"Wiki" systems are fundamentally editable web pages. It's a fun and useful way of communicating asynchronously over the web for many existing intranet and public Internet sites. TWiki is simple to learn and use. It aims to provide a transparent way for you to publish and exchange your ideas with others over the web.

How TWiki Works

  1. Browse This is a site like other sites. Read and follow interesting links.
  2. Write Speak your mind! From your browser you can change or add to anything you see in a TWiki topic. Use regular text, HTML or TWikiShorthand. To contribute:
  3. Don't worry! It can be scary at first to change "public" content. Please just try it. Revision control keeps all content, nothing is lost. For special cases, access control is available yet you may find you don't need it in most cases. You'll soon see how successful WikiCulture works in this kind of collaboration environment. This is new. Just try to relax.
  4. Experiment Edit your personal page or visit the Sandbox web.
    1. Link To link to another topic, start by editing an existing topic.
      • To create a link to an existing topic type its JoinCapitalizedWords name. WikiWords (two or more capitalized words run together) link automatically.
      • To create a link to a new topic, enter a newly UsedPhrase.
      • When previewing, the links show and "?" (question marks) are used to create topics.
      • Another way to create a topic is to type it's WikiWord in the Go box or URL.
    2. Topic history click Diffs at the bottom of a topic
    3. Attach files click Attach to upload and attach any type of file.
  5. Organize: You can learn to use TWikiForms and FormattedSearches to include topic information - for example, classify pages by subject, status, or date.
  6. Learn more TWikiTutorial is a 20-minute tour of TWiki essentials. WikiReferences links to selected articles and books about Wiki technology and online collaboration.

Starting Points

TWiki Highlights

  • Web browser used to create and edit topics
  • Automatic linking HTML not required
  • Search topic names or full-text (regular expressions available)
  • Revision control for changes (who, what, when) for topics and attachments
  • Access control using users and groups
  • Email notification of topic changes
  • File attachments upload and download any file to any topic similar to email attachments
  • Warnings for simultaneous topic editing
  • Plug-in via TWiki's flexible architecture using templates, skins, plug-ins and add-ons to customize everything
  • Development active with growing set of features in TWiki releases and plug-ins
  • Strong community for support of users, administrators and developers
  • Read more about TWiki at http://TWiki.org/

TWiki Site Map Use to...
TWiki.TWiki Welcome, Registration, and other StartingPoints; TWiki history & Wiki style; All the docs...     { Changes | Search | Prefs } ...discover TWiki details, and how to start your own site.
You can use color coding by web for identification and reference. This table is updated automatically based on WebPreferences settings of the individual webs. Contact caad-yearly@hbt.arch.ethz.ch if you need a separate collaboration web for your team.

 


WhatIsWikiWiki  

18 Jan 2003 - 09:46 - r1.3   PeterThoeny

FAQ:

So what is this WikiWiki thing exactly?

Answer:

A set of pages of information that are open and free for anyone to edit as they wish. They are stored in a server and managed using some software. The system creates cross-reference hyperlinks between pages automatically. See WelcomeGuest and TWikiSite for more information.

Back to: TWikiFAQ

-- PeterThoeny - 27 Nov 2000

 


WikiCulture  

10 Apr 2002 - 04:59 - r1.8   PeterThoeny

FAQ:

Everybody can edit any page, this is scary. Doesn't that lead to chaos?

Answer:

TWiki is one of many WikiWikiClones, the first one was built by Ward Cunningham. Collaborating the Wiki way is different from other collaboration tools like Usenet. A distinct Wiki culture forms around these tools:

(quoted from WhyWikiWorks at Ward's original Wiki system, the Portland Pattern Repository, Wiki:WhyWikiWorks)

Related topics: TWikiSite, WelcomeGuest, GoodStyle, WikiSyntax, TWikiFAQ, WabiSabi, TWikiAccessControl

Back to: TWikiFAQ

-- PeterThoeny - 09 Apr 2002

 


WikiName  

18 Jan 2003 - 09:44 - r1.3   PeterThoeny

Your name, usually your first and last name connected without a space.

For example, Tim Berners-Lee's WikiName is TimBernersLee.

ALERT! Your name is also a potentially valid WikiWord when used within a topic, however the home pages of registered users on this site are stored in the Main TWiki web. Prepend  Main. when you sign your username in a topic - write Main.guest to link to Main.guest, your personal topic page in the Main TWiki web. This will ensure that your personal topic page is linked to at it's location in the Main TWiki web. For convenience, your signature is also provided to you for copying and pasting when editing a topic.

DONE Though rarely used in common practice, you can use the special %MAINWEB% variable to prepend to user names, for example, %MAINWEB%.guest.

 


WikiNotation  

01 Jul 2000 - 05:12 - r1.3   PeterThoeny

Wiki links topics automatically when you use the WikiWord notation.

 


WikiReferences  

11 Feb 2002 - 19:16 - r1.2   PeterThoeny

References on Wiki and Collaboration

Some useful articles and books around collaboration and the Wiki technology in particular.

Wiki Technology and TWiki

Collaboration and Knowledge Management

Extreme Programming

-- PeterThoeny - 27 Jul 2001

 


WikiSyntax  

01 Feb 2003 - 10:01 - r1.15   PeterThoeny

TWiki Shorthand Basics

If you can enter text, you're ready for TWiki. With a few simple, intuitive TextFormattingRules, you'll be able to use plain text to create well-styled postings, instantly. Here's a fast-track guide to shorthand basics...

  1. Start items in a numbered list with [space][space][space][1][space].
  2. The "1" (or any number) will be replaced by the correct number, in order.
  3. To add a new paragraph without restarting list numbering, use the %BR% variable, like below:
    Text added (in new paragraph)
  4. and list numbering continues.

<verbatim>
unformatted text!
</verbatim>

 


WikiTopic  

12 May 2002 - 06:35 - r1.3   MikeMannix?

A WikiTopic is one unit of information in a T/Wiki web. It is more or less a universal term in the world of Wikis. Each WikiTopic is displayed as one Web page in your browser. While debate swirls in high circles of TWiki development as to whether a topic should simply be called a page, there is a good case for the distinction:

For now, a topic is used by TWiki to generate a regular Web page.

-- MikeMannix? - 12 May 2002

 


WikiWikiClones  

23 Jan 2003 - 08:23 - r1.5   PeterThoeny

TWiki is a Wiki Wiki clone and has its root in JOS Wiki.

 


WikiWord  

18 Jan 2003 - 09:22 - r1.4   PeterThoeny

A WikiWord consists of two or more words with initial capitals, run together.

When you type a WikiWord, you establish a hyperlink. It's as easy as that.

WikiWords are styled like this because:

Syntax of a WikiWord

Good examples for WikiWords:

Bad examples for WikiWords:

Hints

Related Topics: WikiSyntax, TextFormattingRules

 


WindowsInstallCookbook  

02 Feb 2003 - 01:36 - r1.3   PeterThoeny

Windows Install Cookbook

Introduction

This cookbook is intended to get you up and running with TWiki on Windows quickly, with as few problems as possible. The 'cookbook' approach is simply to restrict the many choices that someone installing TWiki must make, so that a reasonably well-defined procedure can be followed - new users can simply follow the steps, while experts can use this as more of a guideline. Please read TWiki:Codev.WindowsModPerlInstallCookbook in case you use mod_perl.

There is a huge volume of existing material on TWiki about installing on Windows, and I'm indebted to the many contributors for this - the aim of this cookbook is to synthesise the many tips into a recipe that works.

-- RichardDonkin - 24 Feb 2002

Recent updates

Scope

This document covers installation of the TWiki -1-Feb-2003 production release in the following environment - if you want to use a different environment, feel free to use this as a guideline only.

Component Name, version Comment
Operating System Windows 2000 Should also work for Windows NT
Web Server Apache 1.3.26 Windows-specific security holes fixed in this build
(check latest version at http://httpd.apache.org, but don't use Apache 2.0 yet)
Unix tools Cygwin 1.3.9 Simplest way to get a whole set of required tools
Perl Cygwin perl-5.6.1-2 Comes with Cygwin
RCS Cygwin rcs-5.7-2 Comes with Cygwin, includes a file corruption bugfix

Why this choice of packages? Because I've tried them, and they work well, without requiring a complicated setup... In particular, Apache is the commonest choice for TWiki on Unix/Linux, Cygwin Perl is very close to Unix Perl, and the Cygwin RCS is regularly updated, with a recent TWiki-relevant bug fix in Feb 2002. Cygwin also lets you install the Unix tools, Perl and RCS in a single step, saving quite a lot of time.

More recent minor versions should be OK, but they can introduce bugs.

NEW Major version upgrades, such as Apache 2.0 and Perl 5.8, are very likely to cause problems - for example, Apache 2.0 is unable to authenticate (see TWiki:Support.FailedAuthenticationWithApache2OnWinNT) users created by the current TWiki user registration script (due to a feature being removed in 2.0), and Perl 5.8 may introduce issues due to its Unicode features. Even though the Apache group says that Apache 2.0 is the best version, that's not true for TWiki.

Alternatives

There are doubtless other combinations of components that may work - in particular:

Covering the whole range of additional possibilities, particularly web servers, would make this cookbook too complex, and is best handled as a separate activity.

Checking versions

If you already have some of these add-ons installed, here's how to check the versions - this assumes you have TWiki:Codev.CygWin already installed:

   $ : Cygwin DLL version is the number in 1.3.x format
   $ uname -r
   $ less c:/your-apache-dir/Announcement
   $ perl -v
   $ rcs -V

If you have an older version of any component, do yourself a favour and upgrade it as part of the install process.

Pre-requisites and upgrades

You will need to have local administrator rights and to be comfortable with Windows administration.

This cookbook is intended for a clean install, i.e. none of these components are already installed. However, since Cygwin and Apache's installation process is fairly upgrade-friendly, upgrades should work as well - take backups of all your data and config files first, though!

Text editing

Editing Cygwin files is best done with an editor that can handle Unix file format (see the Cygwin binary mode section below) - the installation process includes nano, a non-GUI editor, but if you prefer to use a GUI editor, you should first install PFE, a freeware editor that supports Unix format files. PFE is available on download.com and Simtel.

Another good TWiki:Codev.OpenSource editor is SciTE (aka WSciTE), available at http://www.scintilla.org/SciTE.html.

The Unix/Windows Environment

It's a little known fact that you can use pathnames such as c:/apache almost everywhere in Windows - try it in a File Open dialogue box. The main exception is the Win2000 cmd.exe command line shell - here, you must use double quotes around forward slashes, e.g. dir "c:/apache" will work fine.

The reason this matters is that '\' is a special character to Perl and other tools, so it's much easier to use '/' everywhere.

The Cygwin environment

TWiki:Codev.CygWin is a Unix-like environment for Windows - many of its tools support the c:/apache format, but it also provides a more Unixlike syntax, e.g. /usr/bin/rcs.exe, because some Unix tools ported onto Cygwin only support the Unix format.

When you launch a Cygwin shell, your existing PATH variable is translated from the Windows format to the Unix format, and the ';' separators in the Windows PATH are changed into ':' separators as required by Unix. A Cygwin tool (e.g. Cygwin Perl or Cygwin RCS) will always use the Unix PATH format, and will accept Unix format pathnames.

The Apache environment

Apache runs as a native Windows process and has nothing to do with Cygwin (at least the version used in this cookbook doesn't). Hence it supports c:/ pathnames in its config files and the first line of Perl CGI scripts.

If you need to use spaces in file names (not recommended), put double quotes around the file name in the httpd.conf file. There have been some security-related bugs in Apache with long pathnames, which are a bit more likely if you use spaces, so it's best to just avoid long names and using spaces.

The Perl environment

Once Perl has been launched by Apache, it is in Cygwin mode, and so is everything it launches, including ls, egrep, and RCS tools that it (typically) launches with the bash shell.

If you need to use spaces in file names (not recommended), you may be able to put double quotes around the file name in the TWiki.cfg file - however, it's not clear whether all the TWiki code would work with this.

Installing Components

Enough background, let's get on with the installation.

TWiki (part 1)

Head to http://twiki.org, click the download link, and fill in the form to request a URL for download. You'll get an automated email, which should arrive by the time you need it.

Apache

1. Download Apache

2. Install Apache

3. Test Apache

Congratulations, you now have a working web server!

To restart Apache after changing its config, type:

Another useful command is apache -k stop.

Cygwin, Unix tools, Perl and RCS

4. Install Cygwin

Head to http://cygwin.com, and click the Install Cygwin Now link. Save the setup.exe in a directory, e.g. c:\download\cygwin-dist.

Now run the Cygwin setup.exe file - this will also install Perl and RCS in one fell swoop.

5. Test Cygwin

The Cygwin User Guide is well worth reading for some background on how Cygwin works.

6. Configure Cygwin for binary mode

   $ mkdir /twiki /c c:/twiki
   $ mount -b -s c:/twiki /twiki
   $ mount -b -s c:/ /c
   $ mount -b -c /cygdrive
   $ mount
   Device              Directory           Type         Flags
   C:\cygwin\bin       /usr/bin            system       binmode
   C:\cygwin\lib       /usr/lib            system       binmode
   C:\cygwin           /                   system       binmode
   c:\twiki            /twiki              system       binmode
   c:                  /c                  system       binmode

This setup is written to the Windows registry, so there's no need to put these commands into a .profile file. For more information on binary vs text mode, see this User Guide section and this FAQ entry.

TWiki (part 2)

7. Download TWiki

Download the latest TWiki release from the URL that PeterThoeny sent you, and save it in the c:/twiki directory.

8. Install TWiki

Unzip the ZIP file under c:/twiki using WinZip, or by going into Cygwin and doing the following - you can hit the TAB key to complete filenames after you've typed the first part:

   $ cd /twiki
   $ unzip TWiki20011201.zip

Configuring components

Now that all the components are installed, you need to configure them.

Configuring Apache

The setup given here is fairly simple, in that it allows only TWiki to be served by the web server. For more complex setups, you can investigate the Alias and ScriptAlias commands that are left commented out in this configuration.

1. Configure Apache (part 1)

Using a suitable text editor (e.g. Cygwin's 'nano', or the Windows PFE editor, unless you already know 'vi'), edit c:/apache/conf/httpd.conf as follows - this tells Apache where TWiki lives, and removes the need to tinker with the Windows 2000 environment settings.

# Change this to point to the Apache administrator (e.g. you)
ServerAdmin you@yourdomain.com

# Replaces DocumentRoot "C:/apache/htdocs"
DocumentRoot "C:/twiki"

# Replaces <Directory "C:/apache/htdocs">
<Directory "C:/twiki">

# Alias /twiki/ "C:/twiki/"
# ScriptAlias /twiki/bin/ "C:/twiki/bin/"
<Directory  "C:/twiki/bin/">
    # RD: Changed None to All in next line, to enable .htaccess
    AllowOverride All
    Allow From All
    Options  ExecCGI
    SetHandler cgi-script
</Directory>

# Environment setup required to run Apache as service or as a
# standalone process.
<IfModule mod_env.c>
   # Adjust TZ for your server timezone, e.g. EST5EDT - put the non-daylight-savings
   # timezone code first (e.g. EST or GMT), followed by the number of hours that it's behind GMT 
   # during non-daylight-savings time (use '-5' for timezones in advance of GMT).
   SetEnv TZ GMT0BST
   SetEnv RCSINIT -x,v/
   # Adjust TEMP and TMP for your server and create directories if necessary
   SetEnv TEMP c:/temp
   SetEnv TMP c:/temp
   SetEnv LOGNAME system
   SetEnv HOME c:/twiki
</IfModule>

2. Configure Apache (part 2)

Add an AddHandler line to the <IfModule mod_mime.c> section of httpd.conf - this removes the need to rename all the TWiki CGI scripts later in the installation.

#
# Document types
#
<IfModule mod_mime.c>
    # TWiki setup - avoid renaming scripts
    AddHandler cgi-script .
</IfModule>

Configuring TWiki

3. Configure TWiki

Edit the TWiki config file, c:/twiki/lib/TWiki.cfg (or in Cygwin terms, /twiki/lib/TWiki.cfg) as follows:

# variables that need to be changed when installing on a new server:
# ==================================================================
#                   http://your.domain.com/twiki : link of TWiki icon in upper left corner :
$wikiHomeUrl      = "http://yourdomain.com/bin/view";
#                   Host of TWiki URL :    (Example "http://myhost.com:123")
$defaultUrlHost   = "http://yourdomain.com";
#                   /caadtwiki/bin : cgi-bin path of TWiki URL:
$scriptUrlPath    = "/bin";
#                   /caadtwiki/pub : Public data path of TWiki URL (root of attachments) :
$pubUrlPath       = "/pub";

# NOTE: Next three settings should be valid absolute pathnames using Cygwin; if using
# TWiki:Codev.ActiveState Perl, use z:/twiki format pathnames if your TWiki directory is not on C:.

#                   Public data directory, must match $pubUrlPath :
$pubDir           = "/twiki/pub";
#                   Template directory :
$templateDir      = "/twiki/templates";
#                   Data (topic files) root directory :
$dataDir          = "/twiki/data";

....

#                   Set ENV{'PATH'} explicitly for taint checks ( #!perl -T option ) :
#                   (Note: PATH environment variable is not changed if set to "")

# On Windows, $safeEnvPath needs only one component, the directory where RCS is installed
# - used by 'rcsdiff' to run 'co' program, so PATH must be correct.

# Unix/Linux setting:
# $safeEnvPath      = "/bin:/usr/bin";

# Using Cygwin perl, so can use Unix-like paths, with ':' as separator.
# Note that /usr/bin and /bin are identical due to default /usr/bin mount
# in Cygwin.  Must NOT use 'c:/foo' type paths, as ':' is taken as separator
# meaning that 'c' is interpreted as a pathname, giving Perl taint error.
$safeEnvPath      = "/bin";

# If using ActiveState perl, use Windows paths instead
# $safeEnvPath      = "c:/cygwin/bin";

...

#                   RCS directory (find out by 'which rcs') :
$rcsDir           = "c:/cygwin/bin";

...

#                   Unix egrep command :
$egrepCmd         = "/bin/grep -E";
#                   Unix fgrep command :
$fgrepCmd         = "/bin/grep -F";

For the cookbook install using Cygwin Perl, there's no more TWiki.cfg editing to be done, so you can get onto the next section.

#                   NOTE: When using ActiveState Perl, you must specify
#                   a full Windows-style pathname, using '\\' for backslashes,
#                   for the ls, egrep and fgrep commands, because Cygwin's shell
#                   is not used - forward slashes are OK in Windows everywhere
#                   except in the cmd.exe shell. Drive letters are OK - e.g.
#                   'c:\\foo\\ls' will work.  When using Cygwin perl, just
#                   use the default '/bin/ls' type settings.
#
#                   Unix ls command :
$lsCmd            = "c:\\cygwin\\bin\\ls";
#                   Unix egrep command :
$egrepCmd         = "c:\\cygwin\\bin\\grep";
#                   Unix fgrep command :
$fgrepCmd         = "c:\\cygwin\\bin\\grep";

Editing the CGI scripts

4. Editing the Shebang lines

Now to edit the curiously named 'shebang lines' at the top of the TWiki CGI scripts...

$ cd /twiki/bin

$ ls
attach   geturl         oops     rdiff     save        testenv  viewfile
changes  installpasswd  passwd   register  search      upload
edit     mailnotify     preview  rename    statistics  view

$ mkdir .backup 
$ cp * .backup

$ head -1 view
#!/usr/bin/perl -wT

$ perl -pi~ -e 's;#!/usr/bin/perl;#!c:/cygwin/bin/perl;' *[a-z]

$ head -1 view
#!c:/cygwin/bin/perl -wT

$ ls
attach    geturl          oops      rdiff      save         testenv   viewfile~
attach~   geturl~         oops~     rdiff~     save~        testenv~  view~
changes   installpasswd   passwd    register   search       upload
changes~  installpasswd~  passwd~   register~  search~      upload~
edit      mailnotify      preview   rename     statistics   view
edit~     mailnotify~     preview~  rename~    statistics~  viewfile

If for some reason the edit goes wrong, just type cp .backup/* . (while within the bin directory) to restore the original distribution files. Use ls -a to see the .backup directory, and ls -a .backup to view its contents.

Optional step: you can do 'rm *~' to clean out the backups made by Perl, but that's not essential as all the original files cannot be executed. If you do this, type the command very carefully, as a space after the '*' will wipe out all files in this directory!

5. Minor changes to TWiki scripts

As an interlude, you now need to make some minor edits to files in the c:/twiki/bin directory, using a suitable editor (remember to use nano -w filename if you prefer nano to vi - or just use the Windows PFE editor).

         return $user . ':{SHA}' . MIME::Base64::encode_base64(Digest::SHA1::sha1($passwd));

Perl module installation

6. Installing required Perl modules

Some additional Perl modules are needed for the register script to work properly. Fortunately, there is an automated tool that makes it easy to do this - it's called cpan, and goes to the Perl module archive site, http://www.cpan.org/, to download all required modules, and then build and install them. Here's what you need to do:

First of all, you need to get the cpan tool configured and working - this is only necessary once. From the Cygwin shell, type the following (putting the export command in ~/.profile is recommended to make this setting persistent). Without the TEMP variable, some modules may fail to install on Windows 2000 and higher.

$ export TEMP=/c/temp
$ cpan
Lots of questions about configuration and preferences - just hit Enter until you 
get to the questions about mirror sites, but answer the questions about FTP proxies etc
 if you are behind a proxy-based firewall.  The CPAN tool will fetch a series of files, 
some quite large, as part of this setup process, so be patient...

NOTE: If you are behind a non-proxy-based firewall that requires the use of passive FTP, the initial downloads of files using Net::FTP may appear to hang - just wait 5 or more minutes, however, and the CPAN tool should eventually hit on ncftpget, which is part of Cygwin and does work OK. If this doesn't work and you are behind a typical NAT-based firewall, try doing the following at the Cygwin shell before running cpan - this forces Net::FTP to use passive FTP, letting it get through such firewalls:

$ export FTP_PASSIVE=1
If this works, add this line to your ~/.profile file for future use.

Once some initial files are downloaded, you are asked to select your continent and country, and then mirror sites - just type the number of the mirror sites you want to use (pick a few in case one is down):

...
(28) Turkey
(29) Ukraine
(30) United Kingdom

Select your country (or several nearby countries) [] 30

(1) ftp://cpan.teleglobe.net/pub/CPAN
(2) ftp://ftp.clockerz.net/pub/CPAN/
(3) ftp://ftp.demon.co.uk/pub/CPAN/
(4) ftp://ftp.flirble.org/pub/languages/perl/CPAN/
(5) ftp://ftp.mirror.ac.uk/sites/ftp.funet.fi/pub/languages/perl/CPAN/
(6) ftp://ftp.plig.org/pub/CPAN/
(7) ftp://mirror.uklinux.net/pub/CPAN/
(8) ftp://sunsite.doc.ic.ac.uk/packages/CPAN/
(9) ftp://usit.shef.ac.uk/pub/packages/CPAN/
Select as many URLs as you like,
put them on one line, separated by blanks [] 4 7 8

Enter another URL or RETURN to quit: []
New set of picks:
  ftp://ftp.flirble.org/pub/languages/perl/CPAN/
  ftp://mirror.uklinux.net/pub/CPAN/
  ftp://sunsite.doc.ic.ac.uk/packages/CPAN/

Eventually, you'll get to the CPAN tool's shell prompt, where you need to install a few modules - the tool will do all the work for you.

cpan shell -- CPAN exploration and modules installation (v1.59_54)
cpan> install Net::SMTP
May already be installed - if it is, try 'force install', since it's useful to be able to set
firewall and passive FTP configuration when using Net::FTP.  Make sure you answer 'Y' to the question 
about whether you want to configure this package.
cpan> install Digest::SHA1
Lots of output about how CPAN finds, builds and installs the module - watch for 
any errors, though it should work fine if you have installed the Cygwin packages listed above (particularly 'gcc' and 'make').
cpan> install MIME::Base64
May already be installed.

Re-locking RCS files

7. Re-locking files

First, some testing: in your browser, go to http://yourdomain.com/bin/testenv - this provides a lot of detail, including warnings. Write down the Apache server's userid that is given by this script - typically either 'system' or 'administrator' - I'll assume 'system' from now on.

This 'system' user must own the locks on the RCS files, which are shipped with the lock held by 'nobody'. The reason this matters is that no revisions will be tracked by RCS unless the Apache userid matches that of the RCS file locks.

You can re-lock files using rcs -u and rcs -l, but it's a painfully manual process. Instead, just use Perl again to mass-edit all the RCS files, as follows:

$ cd /twiki/data

$ : Make a backup of all files
$ tar czvf all-files.tar.gz */*

$ : Test edit a single file to check your typing
$ perl -pi~~~ -e 'NR <= 10 && s/nobody:/system:/ ' Main/WebIndex.txt,v

$ diff Main/WebIndex.txt,v Main/WebIndex.txt,v~~~
5c5
<       system:1.2; strict;
---
>       nobody:1.2; strict;

$ : Now edit all the RCS files at once - use cursor-up to recall previous command
$ perl -pi~~~ -e 'NR <= 10 && s/nobody:/system:/ ' */*,v

$ : Check for any remaining files not edited
$ grep 'strict;$' */*,v | grep -v system

$ : Clean up - type this very carefully 
$ rm */*~~~

You have now re-locked all the RCS files and are almost ready to start using TWiki!

Email setup

8. Email setup for notification and registration

You need to set the SMTPMAILHOST to an SMTP email host that is reachable and currently working. Otherwise you'll get a confusing message from TWiki when registering new users or running mailnotify (for WebNotify), along the lines of:

   Software Error: Can't call method "mail" on an undefined value at ../lib/TWiki/Net.pm line 187.

There are other settings to be made in TWikiPreferences, e.g. the WIKIWEBMASTER and (probably) the SMTPSENDERHOST (normally your mail server or TWiki server). See the TWikiInstallationGuide for more details, what's listed here is just enough to let you run the basic tests.

Testing your TWiki installation

It is important to test your TWiki installation before you release it to other users or put any significant data into it.

Here are the main things to test:

Troubleshooting

If anything doesn't work, go back and check the configuration of the Apache httpd.conf file, and TWiki.cfg. Have a look at the Apache error log, c:/apache/logs/error_log, and the TWiki error log, /twiki/data/log*.txt, and if necessary enable debugging on selected scripts (the commands are right at the top of each script) - the results go into /twiki/data/debug.txt. There is also a /twiki/data/warning.txt file that contains less serious messages.

See TWiki:Codev.TWikiPatches in case there are patches (i.e. specific code changes) for particular problems that may affect you (e.g. TWiki:Codev.ChangePasswordOnWin2K).

If you find that the Index feature doesn't work, or topic name searches fail, you should check you have set $egrepCmd and $fgrepCmd correctly, as mentioned above.

Permissions

TWiki:Codev.CygWin has several models for how it does security:

I have not had any problems with TWiki permissions on Windows, unlike Linux/Unix, which is probably because I'm using the default security model for Cygwin. If you use the other models, you may still be OK if you have local admin rights, and Apache is running as the SYSTEM user (which it uses if started as a service). If you do have trouble in this area, see the TWikiInstallationGuide's advice, some of which will apply to TWiki:Codev.CygWin, and log any issues in TWiki:Codev.WindowsInstallCookbookComments.

Next Steps

See the TWikiInstallationGuide for other setup. In particular, you'll probably want to refer to the section on basic authentication - remember to use c:/twiki type filenames (i.e. Windows format) since you are using Apache for Windows.

Improved authentication

You may want to investigate TWiki:Codev.WindowsInstallModNTLM, which describes how to add an Apache module so that TWiki:Codev.InternetExplorer users are automatically authenticated based on their Windows domain login - this avoids TWiki:Codev.GettingTheUsernameWrong and TWiki:Codev.ForgettingPasswords, which are usually very common among TWiki users.

Improved performance

See TWiki:Codev.WindowsModPerlInstallCookbook and TWiki:Codev.ModPerl for information on installing TWiki under Apache's mod_perl - this is somewhat more complex and follows a different model, so it's best to get some experience with TWiki, Apache and Perl first.

Format of filenames

In your TWiki on Windows installation, it's worth remembering that:

Credits

Material in this cookbook is heavily based on the enormous number of contributions in TWiki:Codev.TWikiOnWindowsArchive and related topics - too many people to thank, but have a look at the contributor list to TWiki:Codev.TWikiOnWindowsArchive to get an idea!

People who've tested or reviewed this document and provided valuable feedback include:


ALERT! Comments welcome at TWiki:Codev.WindowsInstallCookbookComments

-- PeterThoeny - 30 Jan 2003

 


YouAreHere  

19 Jan 2003 - 08:43 - r1.2   PeterThoeny


 



Number of topics: 142


Topic WebHome . { }

Copyright © 1999-2003 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.

This website has been archived and is no longer maintained.